Documentation ¶
Index ¶
- Variables
- type Body
- type Client
- func (c *Client) Delete(uri string, in, out interface{}, header Header) error
- func (c *Client) Get(uri string, out interface{}, header Header) error
- func (c *Client) Patch(uri string, in, out interface{}, header Header) error
- func (c *Client) Post(uri string, in, out interface{}, header Header) error
- func (c *Client) Put(uri string, in, out interface{}, header Header) error
- type Config
- type ErrorHandler
- type Header
- type RequestEncoder
- type ResponseDecoder
Constants ¶
This section is empty.
Variables ¶
View Source
var ConfigDefault = Config{ Name: "gofast", NoDefaultUserAgentHeader: false, ReadTimeout: 6 * time.Second, WriteTimeout: 6 * time.Second, RequestEncoder: JSONEncoder, ResponseDecoder: JSONDecoder, ErrorHandler: defaultErrorHandler, }
ConfigDefault is the default config
View Source
var JSONDecoder = func(resp *fasthttp.Response, out interface{}) error { if err := json.Unmarshal(resp.Body(), out); err != nil { log.Printf("[gofast] response decode failed - code: %v, body: %v", resp.StatusCode(), string(resp.Body())) return err } return nil }
View Source
var JSONEncoder = func(req *fasthttp.Request, in interface{}) error { req.Header.SetContentType("application/json") return json.NewEncoder(req.BodyWriter()).Encode(in) }
View Source
var TextDecoder = func(resp *fasthttp.Response, out interface{}) error { s := out.(*string) *s = string(resp.Body()) return nil }
View Source
var URLEncoder = func(req *fasthttp.Request, in interface{}) error { args := fasthttp.AcquireArgs() defer fasthttp.ReleaseArgs(args) for k, v := range in.(Body) { args.Set(k, v) } if _, err := args.WriteTo(req.BodyWriter()); err != nil { return err } req.Header.SetContentType("application/x-www-form-urlencoded") return nil }
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
type Config ¶
type Config struct { // fasthttp client configurations Name string NoDefaultUserAgentHeader bool ReadTimeout time.Duration WriteTimeout time.Duration // RequestEncoder encode request before send RequestEncoder RequestEncoder // ResponseDecoder decode response after send ResponseDecoder ResponseDecoder // ErrorHandler handle the status code without 2xx ErrorHandler ErrorHandler }
type ErrorHandler ¶
type RequestEncoder ¶
type ResponseDecoder ¶
Click to show internal directories.
Click to hide internal directories.