Documentation ¶
Index ¶
- Constants
- Variables
- func Author() string
- func CheckClient(r *http.Request, ClientKey string) error
- func GetClientIPs(r *http.Request) []string
- func GzWrap(next http.Handler) http.Handler
- func License() string
- func SetHeaderWrap(next http.Handler, header Header) http.Handler
- func Version() string
- type Caching
- type Dumping
- type FormFile
- type FormParam
- type Header
- type Host
- type JSONParam
- type QueryParam
- type Request
- func (r *Request) Delete(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) Do(ctx context.Context, method, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) EnableCache(method string, ttl int64) *Request
- func (r *Request) EnableCookie(enable bool) *Request
- func (r *Request) FollowRedirect(follow bool) *Request
- func (r *Request) Get(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) GetHeader(name string) string
- func (r *Request) GetTimeout() Timeout
- func (r *Request) Head(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) Options(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) Patch(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) Post(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) Put(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Request) SetClientKey(key string) *Request
- func (r *Request) SetClientTimeout(timeout int) *Request
- func (r *Request) SetConnectTimeout(timeout int) *Request
- func (r *Request) SetDump(dumpHTTP, dumpBody bool) *Request
- func (r *Request) SetGzip(gzip bool) *Request
- func (r *Request) SetHeader(key, value string) *Request
- func (r *Request) SetHost(host string) *Request
- func (r *Request) SetKeepAliveTimeout(timeout int) *Request
- func (r *Request) SetProxy(proxy func(*http.Request) (*url.URL, error)) *Request
- func (r *Request) SetProxyURL(proxy string) *Request
- func (r *Request) SetReferer(referer string) *Request
- func (r *Request) SetRetries(args ...interface{}) *Request
- func (r *Request) SetTimeout(timeout Timeout) *Request
- func (r *Request) SetUA(ua string) *Request
- func (r *Request) SetVerifyTLS(verify bool) *Request
- type Response
- func Delete(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Get(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Head(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Options(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Patch(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Post(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func Put(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
- func (r *Response) Bytes() (b []byte, err error)
- func (r *Response) Close()
- func (r *Response) Dump() [][]byte
- func (r *Response) File(paths ...string) (size int64, err error)
- func (r *Response) GetHeader(name string) string
- func (r *Response) JSON() (*xjson.JSON, error)
- func (r *Response) String() (s string, err error)
- type Retries
- type Timeout
- type Tracing
Constants ¶
const Socks5Proxy = "DNSSocks5Proxy"
Variables ¶
var ( // DefaultRequest is default request DefaultRequest = New() )
Functions ¶
func CheckClient ¶
CheckClient returns is a valid client request used by http server, it will check the requestId
func GetClientIPs ¶
GetClientIPs returns all ips from http client
func SetHeaderWrap ¶
SetHeaderWrap is http set header middleware
Types ¶
type QueryParam ¶
type QueryParam map[string]interface{}
QueryParam is query param map pass to xhttp
type Request ¶
type Request struct { ClientID string Request *http.Request Client *http.Client ClientKey string Timeout Timeout Caching Caching Retries Retries Dumping Dumping }
Request storing request data
func (*Request) Delete ¶
func (r *Request) Delete(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Delete do http DELETE request and returns response
func (*Request) Do ¶
func (r *Request) Do(ctx context.Context, method, surl string, args ...interface{}) (s *Response, err error)
Do send http request and return response
func (*Request) EnableCache ¶
EnableCache enable http client cache
func (*Request) EnableCookie ¶
EnableCookie set http request enable cookie
func (*Request) FollowRedirect ¶
FollowRedirect set http request follow redirect
func (*Request) Get ¶
func (r *Request) Get(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Get do http GET request and returns response
func (*Request) GetTimeout ¶
GetTimeout get http request timeout
func (*Request) Head ¶
func (r *Request) Head(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Head do http HEAD request and returns response
func (*Request) Options ¶
func (r *Request) Options(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Options do http OPTIONS request and returns response
func (*Request) Patch ¶
func (r *Request) Patch(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Patch do http PATCH request and returns response
func (*Request) Post ¶
func (r *Request) Post(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Post do http POST request and returns response
func (*Request) Put ¶
func (r *Request) Put(ctx context.Context, surl string, args ...interface{}) (s *Response, err error)
Put do http PUT request and returns response
func (*Request) SetClientKey ¶
SetClientKey set key for signing requestid
func (*Request) SetClientTimeout ¶
SetClientTimeout set http client timeout
func (*Request) SetConnectTimeout ¶
SetConnectTimeout set http connect timeout
func (*Request) SetKeepAliveTimeout ¶
SetKeepAliveTimeout set http keepalive timeout
func (*Request) SetProxyURL ¶
SetProxyURL set http request proxy url
func (*Request) SetReferer ¶
SetReferer set http request referer
func (*Request) SetRetries ¶
SetRetries set retry param int arg is setting retry times, time.Duration is setting retry sleep duration 0: no retry (default), -1: retry until success, > 1: retry x times
func (*Request) SetTimeout ¶
SetTimeout set http request timeout
func (*Request) SetVerifyTLS ¶
SetVerifyTLS set http request tls verify
type Response ¶
type Response struct { Method string URL *url.URL Response *http.Response StatusCode int ContentLength int64 CacheKey string Tracing Tracing Dumping [][]byte }
Response storing response data
func (*Response) Dump ¶
Dump returns http dump of request and response [bytes[request], bytes[response]]