clientv2

package
v0.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 15 Imported by: 63

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalJSON added in v0.20.0

func MarshalJSON(v interface{}) ([]byte, error)

Types

type Client

type Client struct {
	Client              *http.Client
	BaseURL             string
	RequestInterceptor  RequestInterceptor
	CustomDo            RequestInterceptorFunc
	ParseDataWhenErrors bool
}

Client is the http client wrapper

func NewClient

func NewClient(client *http.Client, baseURL string, options *Options, interceptors ...RequestInterceptor) *Client

NewClient creates a new http client wrapper

func (*Client) Post

func (c *Client) Post(ctx context.Context, operationName, query string, respData interface{}, vars map[string]interface{}, 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 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 FormField added in v0.11.3

type FormField struct {
	Name  string
	Value interface{}
}

type GQLRequestInfo

type GQLRequestInfo struct {
	Request *Request
}

func NewGQLRequestInfo

func NewGQLRequestInfo(r *Request) *GQLRequestInfo

type GqlErrorList

type GqlErrorList struct {
	Errors gqlerror.List `json:"errors"`
}

GqlErrorList is the struct of a standard graphql error response

func (*GqlErrorList) Error

func (e *GqlErrorList) Error() string

type HTTPError

type HTTPError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

HTTPError is the error when a GqlErrorList cannot be parsed

type MultipartFile added in v0.11.3

type MultipartFile struct {
	File  graphql.Upload
	Index int
}

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]interface{} `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 interface{}, next RequestInterceptorFunc) error

func ChainInterceptor

func ChainInterceptor(interceptors ...RequestInterceptor) RequestInterceptor

type RequestInterceptorFunc

type RequestInterceptorFunc func(ctx context.Context, req *http.Request, gqlInfo *GQLRequestInfo, res interface{}) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL