client/ollama: report invalid server error response with raw bytes
This commit is contained in:
parent
cd5df121a5
commit
e1d457c73e
@ -5,6 +5,7 @@ import (
|
|||||||
"cmp"
|
"cmp"
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"iter"
|
"iter"
|
||||||
@ -109,8 +110,11 @@ func Do[Res any](ctx context.Context, method, urlStr string, in any) (*Res, erro
|
|||||||
defer res.Body.Close()
|
defer res.Body.Close()
|
||||||
|
|
||||||
if res.StatusCode/100 != 2 {
|
if res.StatusCode/100 != 2 {
|
||||||
e, err := decodeJSON[Error](res.Body)
|
var buf bytes.Buffer
|
||||||
|
body := io.TeeReader(res.Body, &buf)
|
||||||
|
e, err := decodeJSON[Error](body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
err := fmt.Errorf("ollama: invalid error response from server (status %d): %q", res.StatusCode, buf.String())
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return nil, e
|
return nil, e
|
||||||
|
Loading…
x
Reference in New Issue
Block a user