Documentation
¶
Index ¶
- func MarshalJSON(_ context.Context, v any) ([]byte, error)
- type Client
- type Encoder
- type ErrorResponse
- type FormField
- type GQLRequestInfo
- type GqlErrorList
- type HTTPError
- type HttpClient
- type MultipartFile
- type MultipartFilesGroup
- type Options
- type Request
- type RequestInterceptor
- type RequestInterceptorFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
Client HttpClient
BaseURL string
RequestInterceptor RequestInterceptor
CustomDo RequestInterceptorFunc
ParseDataWhenErrors bool
IsUnsafeRequestInterceptor bool
}
Client is the http client wrapper
func NewClient ¶
func NewClient(client HttpClient, baseURL string, options *Options, interceptors ...RequestInterceptor) *Client
NewClient creates a new http client wrapper
func NewClientWithUnsafeRequestInterceptor ¶ added in v0.27.4
func NewClientWithUnsafeRequestInterceptor(client HttpClient, baseURL string, options *Options, interceptors ...RequestInterceptor) *Client
func (*Client) Post ¶
func (c *Client) Post(ctx context.Context, operationName, query string, respData any, vars map[string]any, interceptors ...RequestInterceptor) error
Post support send multipart form with files https://gqlgen.com/reference/file-upload/ https://github.com/jaydenseric/graphql-multipart-request-spec
type Encoder ¶ added in v0.29.0
type Encoder struct{}
Encoder is a struct for encoding GraphQL requests to JSON
type ErrorResponse ¶
type ErrorResponse struct {
// populated when http status code is not OK
NetworkError *HTTPError `json:"networkErrors"`
// populated when http status code is OK but the server returned at least one graphql error
GqlErrors *gqlerror.List `json:"graphqlErrors"`
}
ErrorResponse represent an handled error
func (*ErrorResponse) Error ¶
func (er *ErrorResponse) Error() string
func (*ErrorResponse) HasErrors ¶
func (er *ErrorResponse) HasErrors() bool
HasErrors returns true when at least one error is declared
type GQLRequestInfo ¶
type GQLRequestInfo struct {
Request *Request
}
func NewGQLRequestInfo ¶
func NewGQLRequestInfo(r *Request) *GQLRequestInfo
type GqlErrorList ¶
GqlErrorList is the struct of a standard graphql error response
func (*GqlErrorList) Error ¶
func (e *GqlErrorList) Error() string
type HttpClient ¶ added in v0.26.0
type MultipartFile ¶ added in v0.11.3
type MultipartFilesGroup ¶ added in v0.11.3
type MultipartFilesGroup struct {
Files []MultipartFile
IsMultiple bool
}
type Options ¶ added in v0.11.4
type Options struct {
// ParseDataAlongWithErrors is a flag that indicates whether the client should try to parse and return the data along with error
// when error appeared. So in the end you'll get list of gql errors and data.
ParseDataAlongWithErrors bool
}
Options is a struct that holds some client-specific options that can be passed to NewClient.
type Request ¶
type Request struct {
Query string `json:"query"`
Variables map[string]any `json:"variables,omitempty"`
OperationName string `json:"operationName,omitempty"`
}
Request represents an outgoing GraphQL request
type RequestInterceptor ¶
type RequestInterceptor func(ctx context.Context, req *http.Request, gqlInfo *GQLRequestInfo, res any, next RequestInterceptorFunc) error
func ChainInterceptor ¶
func ChainInterceptor(interceptors ...RequestInterceptor) RequestInterceptor
func UnsafeChainInterceptor ¶ added in v0.27.4
func UnsafeChainInterceptor(interceptors ...RequestInterceptor) RequestInterceptor
type RequestInterceptorFunc ¶
Click to show internal directories.
Click to hide internal directories.