Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- type Filter
- type FilterChain
- type Logger
- type Method
- type Options
- type Request
- func (r *Request) BasicAuth(username, password string) *Request
- func (r *Request) BearerAuth(token string) *Request
- func (r *Request) Bytes(ctx context.Context) ([]byte, error)
- func (r *Request) BytesBody(data []byte) *Request
- func (r *Request) Command(command string) *Request
- func (r *Request) ContentType(value string) *Request
- func (r *Request) DoRequest(ctx context.Context) (*http.Response, error)
- func (r *Request) DumpRequest() []byte
- func (r *Request) GetCommand() string
- func (r *Request) GetFile(formname string) string
- func (r *Request) GetFiles() map[string]string
- func (r *Request) GetHeader() http.Header
- func (r *Request) GetMethod() Method
- func (r *Request) GetParam(key string) string
- func (r *Request) GetParams() map[string][]string
- func (r *Request) GetReqBody() []byte
- func (r *Request) GetURL() string
- func (r *Request) Header(key, value string) *Request
- func (r *Request) JSONBody(obj interface{}) (*Request, error)
- func (r *Request) Param(key, value string) *Request
- func (r *Request) PostFile(formname, filename string) *Request
- func (r *Request) Response(ctx context.Context) (*http.Response, error)
- func (r *Request) SetBody(body io.Reader) *Request
- func (r *Request) SignFunc(signFunc func(*Request) error) *Request
- func (r *Request) StatusCode() int
- func (r *Request) String(ctx context.Context) (string, error)
- func (r *Request) StringBody(data string) *Request
- func (r *Request) ToJSON(ctx context.Context, v interface{}) error
Constants ¶
const ( GET = Method("GET") HEAD = Method("HEAD") POST = Method("POST") PUT = Method("PUT") PATCH = Method("PATCH") // RFC 5789 DELETE = Method("DELETE") CONNECT = Method("CONNECT") OPTIONS = Method("OPTIONS") TRACE = Method("TRACE") )
Common HTTP methods.
Unless otherwise noted, these are defined in RFC 7231 section 4.3.
Variables ¶
var DefaultClient = NewClient(&Options{})
DefaultClient client with default options
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client provides more useful features than http.Client
func (*Client) NewRequest ¶
NewRequest returns *Request with specific method based on the Client
type FilterChain ¶
type Logger ¶
type Logger interface {
Println(v ...interface{})
}
Logger use in Client to log something
type Options ¶
type Options struct { Logger Logger Timeout time.Duration // timeout for http.Client Retries int // 0 means no retried; -1 means retried forever; others means retried times. RetryDelay time.Duration // the delay between each request when set Retries FilterChains []FilterChain // set ordered filters to intercept each http request to do some custom things (like AOP) UserAgent string // default value for http header "User-Agent" ShowDebug bool // can get dump info by Request.DumpRequest after send request if set true. DumpBody bool // set whether need to dump the request body }
Options includes useful client setting options
type Request ¶
Request provides more useful methods for requesting one url than http.Request.
func (*Request) BasicAuth ¶
BasicAuth sets the request's Authorization header to use HTTP Basic Authentication with the provided username and password.
func (*Request) BearerAuth ¶
BearerAuth sets the request's Authorization header to use bearer token
func (*Request) ContentType ¶
ContentType sets Content-Type header field
func (*Request) DumpRequest ¶
DumpRequest returns the dump request
func (*Request) GetCommand ¶
GetCommand gets command in request
func (*Request) GetReqBody ¶
GetReqBody returns the request body
func (*Request) Param ¶
Param adds query param in to request. params build query string as ?key1=value1&key2=value2...
func (*Request) Response ¶
Response executes request client gets response manually. The result (*http.Response) will be saved to the instance.
func (*Request) SetBody ¶
SetBody adds request body independently copied from net/http/request.go#NewRequestWithContext
func (*Request) SignFunc ¶
SignFunc adds a sign function to the request (can modify Request before sent such as set header)
func (*Request) StatusCode ¶
StatusCode gets response's status code (should be called after Response)
func (*Request) StringBody ¶
StringBody adds request raw body by string