Help us shape the future of Go! Take the 2026 Go Developer Survey

clientv2

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Client             *http.Client
	BaseURL            string
	RequestInterceptor RequestInterceptor
}

Client is the http client wrapper

func NewClient

func NewClient(client *http.Client, baseURL string, 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

the response into the given object.

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

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 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