Versions in this module Expand all Collapse all v0 v0.19.4 Nov 1, 2026 Changes in this version + const ContentTypeApplicationJSON + const ContentTypeApplicationJSONCharacterUTF8 + const ContentTypeApplicationOctetStream + const ContentTypeApplicationXML + const ContentTypeApplicationXMLCharacterUTF8 + const ContentTypeApplicationXNDJSON + const ContentTypeApplicationXSnappyFramed + const ContentTypeImageGIF + const ContentTypeImageJPEG + const ContentTypeImagePNG + const ContentTypeImageWebP + const ContentTypeMultipartFormData + const ContentTypeTextCSV + const ContentTypeTextCSVCharacterUTF8 + const ContentTypeTextHTML + const ContentTypeTextHTMLCharacterUTF8 + const ContentTypeTextPlain + const ContentTypeTextPlainCharacterUTF8 + const ContentTypeTextXML + const ContentTypeTextXMLCharacterUTF8 + const ContentTypeWWWFormURLEncoded + const ErrBodyEncodeFuncNotSet + const ErrExpectedDestinationType + const ErrInvalidMethod + const ErrRequestStatusCode + const ErrUnsupportedContentType + const HeaderAccept + const HeaderAuthorization + const HeaderContentType + const HeaderCookie + const HeaderUserAgent + func BuildParams(base map[string]string, opts ...func(map[string]string)) map[string]string + func DecodeRespBody(resp *Response, dst any) error + func GetCookies(url string) ([]*http.Cookie, error) + func GetRequestValue(r *http.Request, contextKey interface{}, headerName, queryName string) string + func GetValueFromHeaderOrQuery(r *http.Request, headerName, queryName string) string + func IsValidMethod(method string) bool + func NormalizeBaseURL(baseURL string) string + func ReadAndCacheResponseBody(resp *http.Response) (string, error) + func ReadRequestBody(r *http.Request) ([]byte, error) + func WithParam(condition bool, key, value string) func(map[string]string) + func WithParamNotEmpty(key, value string) func(map[string]string) + type BodyEncodeFunc func(body any) (io.Reader, error) + type Client struct + func NewClient(opts ...ClientOption) *Client + func NewClientWithContext(client *http.Client, ctx context.Context) *Client + func NewCustomDefaultClient() *Client + func NewCustomDefaultClientWithContext(ctx context.Context) *Client + func NewDefaultHttpClient() *Client + func NewDefaultHttpClientWithContext(ctx context.Context) *Client + func NewHttpClient(client *http.Client) *Client + func (c *Client) Connect(endpoint string) *Request + func (c *Client) Delete(endpoint string) *Request + func (c *Client) Get(endpoint string) *Request + func (c *Client) Head(endpoint string) *Request + func (c *Client) NewRequest(method, endpoint string) *Request + func (c *Client) Options(endpoint string) *Request + func (c *Client) Patch(endpoint string) *Request + func (c *Client) Post(endpoint string) *Request + func (c *Client) Put(endpoint string) *Request + func (c *Client) Trace(endpoint string) *Request + type ClientOption func(*clientConfig) + func WithContext(ctx context.Context) ClientOption + func WithIdleConnTimeout(timeout time.Duration) ClientOption + func WithInsecureSkipVerify(skip bool) ClientOption + func WithMaxConnsPerHost(n int) ClientOption + func WithMaxIdleConns(n int) ClientOption + func WithMaxIdleConnsPerHost(n int) ClientOption + func WithTLSHandshakeTimeout(timeout time.Duration) ClientOption + func WithTimeout(timeout time.Duration) ClientOption + type FileField struct + Content []byte + FileName string + type ParamsBuilder struct + func NewParams() *ParamsBuilder + func NewParamsWithBase(base map[string]string) *ParamsBuilder + func (b *ParamsBuilder) Add(key, value string) *ParamsBuilder + func (b *ParamsBuilder) Build() map[string]string + func (b *ParamsBuilder) Clear() *ParamsBuilder + func (b *ParamsBuilder) Clone() *ParamsBuilder + func (b *ParamsBuilder) Delete(key string) *ParamsBuilder + func (b *ParamsBuilder) Get(key string) (string, bool) + func (b *ParamsBuilder) Has(key string) bool + func (b *ParamsBuilder) Keys() []string + func (b *ParamsBuilder) Len() int + func (b *ParamsBuilder) Merge(other *ParamsBuilder) *ParamsBuilder + func (b *ParamsBuilder) Set(key, value string) *ParamsBuilder + func (b *ParamsBuilder) SetAny(key string, value interface{}) *ParamsBuilder + func (b *ParamsBuilder) SetAnyIf(condition bool, key string, value interface{}) *ParamsBuilder + func (b *ParamsBuilder) SetIf(condition bool, key, value string) *ParamsBuilder + func (b *ParamsBuilder) SetMultiple(params map[string]string) *ParamsBuilder + func (b *ParamsBuilder) SetNotEmpty(key, value string) *ParamsBuilder + func (b *ParamsBuilder) ToSlice() []interface{} + func (b *ParamsBuilder) Values() []string + type Request struct + func NewRequest(ctx context.Context, client *http.Client, method, endpoint string) *Request + func (r *Request) AddCookie(cookie *http.Cookie) *Request + func (r *Request) AddHeader(key, value string) *Request + func (r *Request) AddHeaders(headers map[string]string) *Request + func (r *Request) AddQueries(queries map[string]string) *Request + func (r *Request) AddQuery(key, value string) *Request + func (r *Request) Client() *http.Client + func (r *Request) Clone() *Request + func (r *Request) Context() context.Context + func (r *Request) Cookie(name string) (*http.Cookie, error) + func (r *Request) Do(ctx context.Context) ([]byte, error) + func (r *Request) FullURL() string + func (r *Request) GetBody() any + func (r *Request) GetBodyBytes() io.Reader + func (r *Request) GetBodyEncodeFunc() BodyEncodeFunc + func (r *Request) GetClient() *http.Client + func (r *Request) GetCtx() context.Context + func (r *Request) GetError() error + func (r *Request) GetFullURL() string + func (r *Request) GetHeaders() http.Header + func (r *Request) GetMethod() string + func (r *Request) GetQueryValues() url.Values + func (r *Request) GetURL() string + func (r *Request) Header() http.Header + func (r *Request) Method() string + func (r *Request) MustSend() Response + func (r *Request) Send() (Response, error) + func (r *Request) SetAccept(accept string) *Request + func (r *Request) SetAuthorization(token string) *Request + func (r *Request) SetBearerToken(token string) *Request + func (r *Request) SetBody(body any) *Request + func (r *Request) SetBodyEncodeFunc(fn BodyEncodeFunc) *Request + func (r *Request) SetBodyForm(data url.Values) *Request + func (r *Request) SetBodyJSON(body any) *Request + func (r *Request) SetBodyMultipart(fieldName, fileName string, fileContent []byte) *Request + func (r *Request) SetBodyMultipartWithFields(fields map[string]string, files map[string]FileField) *Request + func (r *Request) SetBodyRaw(body []byte) *Request + func (r *Request) SetBodyString(body string) *Request + func (r *Request) SetContentType(contentType string) *Request + func (r *Request) SetEndpoint(endpoint string) *Request + func (r *Request) SetHeader(key, value string) *Request + func (r *Request) SetHeaders(headers map[string]string) *Request + func (r *Request) SetQueries(queries map[string]string) *Request + func (r *Request) SetQuery(key, value string) *Request + func (r *Request) SetQueryValues(values url.Values) *Request + func (r *Request) SetUserAgent(userAgent string) *Request + func (r *Request) URL() string + func (r *Request) WithContext(ctx context.Context) *Request + type Response struct + func (r *Response) Body() ([]byte, error) + func (r *Response) Bytes() ([]byte, error) + func (r *Response) CheckStatus() error + func (r *Response) Close() error + func (r *Response) Decode(dst any) error + func (r *Response) DecodeRespBody(dst any) error + func (r *Response) Error() error + func (r *Response) GetBody() ([]byte, error) + func (r *Response) GetCookies() ([]*http.Cookie, error) + func (r *Response) GetError() error + func (r *Response) IsError() bool + func (r *Response) JSON(dst any) error + func (r *Response) LogResponse() + func (r *Response) OK() bool + func (r *Response) String() (string, error) + func (r *Response) XML(dst any) error