Documentation ¶
Overview ¶
Package urllib is a httplib for golang
Index ¶
- func GetDefaultCookieJar() http.CookieJar
- func SetDefaultSetting(setting HttpSettings)
- func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string) (c net.Conn, err error)
- type HttpRequest
- func (b *HttpRequest) Body(data interface{}) *HttpRequest
- func (b *HttpRequest) Bytes() ([]byte, error)
- func (b *HttpRequest) Debug(isdebug bool) *HttpRequest
- func (b *HttpRequest) DumpBody(isdump bool) *HttpRequest
- func (b *HttpRequest) DumpRequest() []byte
- func (b *HttpRequest) DumpRequestString() string
- func (b *HttpRequest) Header(key, value string) *HttpRequest
- func (b *HttpRequest) HeaderWithoutMIMEHeader(key, value string) *HttpRequest
- func (b *HttpRequest) JSONBody(obj interface{}) (*HttpRequest, error)
- func (b *HttpRequest) Param(key, value string) *HttpRequest
- func (b *HttpRequest) PostFile(formname, filename string) *HttpRequest
- func (b *HttpRequest) Response() (*http.Response, error)
- func (b *HttpRequest) SendOut() (*http.Response, error)
- func (b *HttpRequest) SetBasicAuth(username, password string) *HttpRequest
- func (b *HttpRequest) SetCookie(cookie *http.Cookie) *HttpRequest
- func (b *HttpRequest) SetEnableCookie(enable bool) *HttpRequest
- func (b *HttpRequest) SetHost(host string) *HttpRequest
- func (b *HttpRequest) SetProtocolVersion(vers string) *HttpRequest
- func (b *HttpRequest) SetProxy(proxy func(*http.Request) (*url.URL, error)) *HttpRequest
- func (b *HttpRequest) SetTLSClientConfig(config *tls.Config) *HttpRequest
- func (b *HttpRequest) SetTimeout(connectTimeout, readWriteTimeout time.Duration) *HttpRequest
- func (b *HttpRequest) SetTransport(transport http.RoundTripper) *HttpRequest
- func (b *HttpRequest) SetUserAgent(useragent string) *HttpRequest
- func (b *HttpRequest) Setting(setting HttpSettings) *HttpRequest
- func (b *HttpRequest) String() (string, error)
- func (b *HttpRequest) ToFile(filename string) error
- func (b *HttpRequest) ToJson(v interface{}) error
- func (b *HttpRequest) ToXml(v interface{}) error
- type HttpSettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDefaultCookieJar ¶
GetDefaultCookieJar Get default CookieJar
func SetDefaultSetting ¶
func SetDefaultSetting(setting HttpSettings)
SetDefaultSetting Overwrite default settings
Types ¶
type HttpRequest ¶
type HttpRequest struct {
// contains filtered or unexported fields
}
HttpRequest provides more useful methods for requesting one url than http.Request.
func (*HttpRequest) Body ¶
func (b *HttpRequest) Body(data interface{}) *HttpRequest
Body adds request raw body. it supports string and []byte.
func (*HttpRequest) Bytes ¶
func (b *HttpRequest) Bytes() ([]byte, error)
Bytes returns the body []byte in response. it calls Response inner.
func (*HttpRequest) Debug ¶
func (b *HttpRequest) Debug(isdebug bool) *HttpRequest
Debug sets show debug or not when executing request.
func (*HttpRequest) DumpBody ¶
func (b *HttpRequest) DumpBody(isdump bool) *HttpRequest
DumpBody Dump Body.
func (*HttpRequest) DumpRequest ¶
func (b *HttpRequest) DumpRequest() []byte
DumpRequest return the DumpRequest
func (*HttpRequest) DumpRequestString ¶
func (b *HttpRequest) DumpRequestString() string
DumpRequestString return the DumpRequest string
func (*HttpRequest) Header ¶
func (b *HttpRequest) Header(key, value string) *HttpRequest
Header add header item string in request.
func (*HttpRequest) HeaderWithoutMIMEHeader ¶
func (b *HttpRequest) HeaderWithoutMIMEHeader(key, value string) *HttpRequest
HeaderWithoutMIMEHeader add header item string in request without MIMEHeader.
func (*HttpRequest) JSONBody ¶
func (b *HttpRequest) JSONBody(obj interface{}) (*HttpRequest, error)
JSONBody adds request raw body encoding by JSON.
func (*HttpRequest) Param ¶
func (b *HttpRequest) Param(key, value string) *HttpRequest
Param adds query param in to request. params build query string as ?key1=value1&key2=value2...
func (*HttpRequest) PostFile ¶
func (b *HttpRequest) PostFile(formname, filename string) *HttpRequest
PostFile upload file
func (*HttpRequest) Response ¶
func (b *HttpRequest) Response() (*http.Response, error)
Response executes request client gets response mannually.
func (*HttpRequest) SendOut ¶
func (b *HttpRequest) SendOut() (*http.Response, error)
SendOut send out
func (*HttpRequest) SetBasicAuth ¶
func (b *HttpRequest) SetBasicAuth(username, password string) *HttpRequest
SetBasicAuth sets the request's Authorization header to use HTTP Basic Authentication with the provided username and password.
func (*HttpRequest) SetCookie ¶
func (b *HttpRequest) SetCookie(cookie *http.Cookie) *HttpRequest
SetCookie add cookie into request.
func (*HttpRequest) SetEnableCookie ¶
func (b *HttpRequest) SetEnableCookie(enable bool) *HttpRequest
SetEnableCookie sets enable/disable cookiejar
func (*HttpRequest) SetHost ¶
func (b *HttpRequest) SetHost(host string) *HttpRequest
SetHost Set HOST
func (*HttpRequest) SetProtocolVersion ¶
func (b *HttpRequest) SetProtocolVersion(vers string) *HttpRequest
SetProtocolVersion Set the protocol version for incoming requests. Client requests always use HTTP/1.1.
func (*HttpRequest) SetProxy ¶
func (b *HttpRequest) SetProxy(proxy func(*http.Request) (*url.URL, error)) *HttpRequest
SetProxy Set http proxy example:
func(req *http.Request) (*url.URL, error) { u, _ := url.ParseRequestURI("http://127.0.0.1:8118") return u, nil }
func (*HttpRequest) SetTLSClientConfig ¶
func (b *HttpRequest) SetTLSClientConfig(config *tls.Config) *HttpRequest
SetTLSClientConfig sets tls connection configurations if visiting https url.
func (*HttpRequest) SetTimeout ¶
func (b *HttpRequest) SetTimeout(connectTimeout, readWriteTimeout time.Duration) *HttpRequest
SetTimeout sets connect time out and read-write time out for Request.
func (*HttpRequest) SetTransport ¶
func (b *HttpRequest) SetTransport(transport http.RoundTripper) *HttpRequest
SetTransport Set transport to
func (*HttpRequest) SetUserAgent ¶
func (b *HttpRequest) SetUserAgent(useragent string) *HttpRequest
SetUserAgent sets User-Agent header field
func (*HttpRequest) Setting ¶
func (b *HttpRequest) Setting(setting HttpSettings) *HttpRequest
Setting Change request settings
func (*HttpRequest) String ¶
func (b *HttpRequest) String() (string, error)
String returns the body string in response. it calls Response inner.
func (*HttpRequest) ToFile ¶
func (b *HttpRequest) ToFile(filename string) error
ToFile saves the body data in response to one file. it calls Response inner.
func (*HttpRequest) ToJson ¶
func (b *HttpRequest) ToJson(v interface{}) error
ToJson returns the map that marshals from the body bytes as json in response . it calls Response inner.
func (*HttpRequest) ToXml ¶
func (b *HttpRequest) ToXml(v interface{}) error
ToXml returns the map that marshals from the body bytes as xml in response . it calls Response inner.
type HttpSettings ¶
type HttpSettings struct { ShowDebug bool UserAgent string ConnectTimeout time.Duration ReadWriteTimeout time.Duration TlsClientConfig *tls.Config Proxy func(*http.Request) (*url.URL, error) Transport http.RoundTripper EnableCookie bool Gzip bool DumpBody bool }
HttpSettings http settings
func GetDefaultSetting ¶
func GetDefaultSetting() *HttpSettings
GetDefaultSetting Get current default settings