38 lines
772 B
Go
38 lines
772 B
Go
package openai
|
|
|
|
import "fmt"
|
|
|
|
// APIError provides error information returned by the OpenAI API.
|
|
type APIError struct {
|
|
Code *string `json:"code,omitempty"`
|
|
Message string `json:"message"`
|
|
Param *string `json:"param,omitempty"`
|
|
Type string `json:"type"`
|
|
StatusCode int `json:"-"`
|
|
}
|
|
|
|
// RequestError provides informations about generic request errors.
|
|
type RequestError struct {
|
|
StatusCode int
|
|
Err error
|
|
}
|
|
|
|
type ErrorResponse struct {
|
|
Error *APIError `json:"error,omitempty"`
|
|
}
|
|
|
|
func (e *APIError) Error() string {
|
|
return e.Message
|
|
}
|
|
|
|
func (e *RequestError) Error() string {
|
|
if e.Err != nil {
|
|
return e.Err.Error()
|
|
}
|
|
return fmt.Sprintf("status code %d", e.StatusCode)
|
|
}
|
|
|
|
func (e *RequestError) Unwrap() error {
|
|
return e.Err
|
|
}
|