httplib

package
v1.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2023 License: Apache-2.0 Imports: 20 Imported by: 25

Documentation

Overview

Package httplib is used as http.Client Usage:

import "github.com/astaxie/beego/httplib"

	b := httplib.Post("http://beego.me/")
	b.Param("username","astaxie")
	b.Param("password","123456")
	b.PostFile("uploadfile1", "httplib.pdf")
	b.PostFile("uploadfile2", "httplib.txt")
	str, err := b.String()
	if err != nil {
		t.Fatal(err)
	}
	fmt.Println(str)

 more docs http://beego.me/docs/module/httplib.md

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PostJSON

func PostJSON(url string, timeout time.Duration, v interface{}, headers map[string]string) (response []byte, code int, err error)

PostJSON 方法废弃,后面都使用beego的那些方法,beego的httplib做了改动,会复用transport

func SetDefaultSetting

func SetDefaultSetting(setting BeegoHTTPSettings)

SetDefaultSetting Overwrite default settings

Types

type BeegoHTTPRequest

type BeegoHTTPRequest struct {
	// contains filtered or unexported fields
}

BeegoHTTPRequest provides more useful methods for requesting one url than http.Request.

func Delete

func Delete(url string) *BeegoHTTPRequest

Delete returns *BeegoHttpRequest DELETE method.

func Get

func Get(url string) *BeegoHTTPRequest

Get returns *BeegoHttpRequest with GET method.

func Head(url string) *BeegoHTTPRequest

Head returns *BeegoHttpRequest with HEAD method.

func NewBeegoRequest

func NewBeegoRequest(rawurl, method string) *BeegoHTTPRequest

NewBeegoRequest return *BeegoHttpRequest with specific method

func Post

func Post(url string) *BeegoHTTPRequest

Post returns *BeegoHttpRequest with POST method.

func Put

func Put(url string) *BeegoHTTPRequest

Put returns *BeegoHttpRequest with PUT method.

func (*BeegoHTTPRequest) Body

func (b *BeegoHTTPRequest) Body(data interface{}) *BeegoHTTPRequest

Body adds request raw body. it supports string and []byte.

func (*BeegoHTTPRequest) Bytes

func (b *BeegoHTTPRequest) Bytes() ([]byte, error)

Bytes returns the body []byte in response. it calls Response inner.

func (*BeegoHTTPRequest) Debug

func (b *BeegoHTTPRequest) Debug(isdebug bool) *BeegoHTTPRequest

Debug sets show debug or not when executing request.

func (*BeegoHTTPRequest) DoRequest

func (b *BeegoHTTPRequest) DoRequest() (resp *http.Response, err error)

DoRequest will do the client.Do

func (*BeegoHTTPRequest) DumpBody

func (b *BeegoHTTPRequest) DumpBody(isdump bool) *BeegoHTTPRequest

DumpBody setting whether need to Dump the Body.

func (*BeegoHTTPRequest) DumpRequest

func (b *BeegoHTTPRequest) DumpRequest() []byte

DumpRequest return the DumpRequest

func (*BeegoHTTPRequest) GetRequest

func (b *BeegoHTTPRequest) GetRequest() *http.Request

GetRequest return the request object

func (*BeegoHTTPRequest) Header

func (b *BeegoHTTPRequest) Header(key, value string) *BeegoHTTPRequest

Header add header item string in request.

func (*BeegoHTTPRequest) JSONBody

func (b *BeegoHTTPRequest) JSONBody(obj interface{}) (*BeegoHTTPRequest, error)

JSONBody adds request raw body encoding by JSON.

func (*BeegoHTTPRequest) JSONBodyQuiet

func (b *BeegoHTTPRequest) JSONBodyQuiet(obj interface{}) *BeegoHTTPRequest

JSONBodyQuiet adds request raw body encoding by JSON. ignore json marshal error

func (*BeegoHTTPRequest) Param

func (b *BeegoHTTPRequest) Param(key, value string) *BeegoHTTPRequest

Param adds query param in to request. params build query string as ?key1=value1&key2=value2...

func (*BeegoHTTPRequest) PostFile

func (b *BeegoHTTPRequest) PostFile(formname, filename string) *BeegoHTTPRequest

PostFile add a post file to the request

func (*BeegoHTTPRequest) Response

func (b *BeegoHTTPRequest) Response() (*http.Response, error)

Response executes request client gets response mannually.

func (*BeegoHTTPRequest) Retries

func (b *BeegoHTTPRequest) Retries(times int) *BeegoHTTPRequest

Retries sets Retries times. default is 0 means no retried. -1 means retried forever. others means retried times.

func (*BeegoHTTPRequest) SetBasicAuth

func (b *BeegoHTTPRequest) SetBasicAuth(username, password string) *BeegoHTTPRequest

SetBasicAuth sets the request's Authorization header to use HTTP Basic Authentication with the provided username and password.

func (*BeegoHTTPRequest) SetCheckRedirect

func (b *BeegoHTTPRequest) SetCheckRedirect(redirect func(req *http.Request, via []*http.Request) error) *BeegoHTTPRequest

SetCheckRedirect specifies the policy for handling redirects.

If CheckRedirect is nil, the Client uses its default policy, which is to stop after 10 consecutive requests.

func (*BeegoHTTPRequest) SetCookie

func (b *BeegoHTTPRequest) SetCookie(cookie *http.Cookie) *BeegoHTTPRequest

SetCookie add cookie into request.

func (*BeegoHTTPRequest) SetEnableCookie

func (b *BeegoHTTPRequest) SetEnableCookie(enable bool) *BeegoHTTPRequest

SetEnableCookie sets enable/disable cookiejar

func (*BeegoHTTPRequest) SetHost

func (b *BeegoHTTPRequest) SetHost(host string) *BeegoHTTPRequest

SetHost set the request host

func (*BeegoHTTPRequest) SetProtocolVersion

func (b *BeegoHTTPRequest) SetProtocolVersion(vers string) *BeegoHTTPRequest

SetProtocolVersion Set the protocol version for incoming requests. Client requests always use HTTP/1.1.

func (*BeegoHTTPRequest) SetProxy

func (b *BeegoHTTPRequest) SetProxy(proxy func(*http.Request) (*url.URL, error)) *BeegoHTTPRequest

SetProxy set the http proxy example:

func(req *http.Request) (*url.URL, error) {
	u, _ := url.ParseRequestURI("http://127.0.0.1:8118")
	return u, nil
}

func (*BeegoHTTPRequest) SetTLSClientConfig

func (b *BeegoHTTPRequest) SetTLSClientConfig(config *tls.Config) *BeegoHTTPRequest

SetTLSClientConfig sets tls connection configurations if visiting https url.

func (*BeegoHTTPRequest) SetTimeout

func (b *BeegoHTTPRequest) SetTimeout(timeout time.Duration) *BeegoHTTPRequest

SetTimeout sets timeout.

func (*BeegoHTTPRequest) SetTransport

func (b *BeegoHTTPRequest) SetTransport(transport http.RoundTripper) *BeegoHTTPRequest

SetTransport set the setting transport

func (*BeegoHTTPRequest) SetUserAgent

func (b *BeegoHTTPRequest) SetUserAgent(useragent string) *BeegoHTTPRequest

SetUserAgent sets User-Agent header field

func (*BeegoHTTPRequest) Setting

Setting Change request settings

func (*BeegoHTTPRequest) String

func (b *BeegoHTTPRequest) String() (string, error)

String returns the body string in response. it calls Response inner.

func (*BeegoHTTPRequest) ToFile

func (b *BeegoHTTPRequest) ToFile(filename string) error

ToFile saves the body data in response to one file. it calls Response inner.

func (*BeegoHTTPRequest) ToJSON

func (b *BeegoHTTPRequest) ToJSON(v interface{}) error

ToJSON returns the map that marshals from the body bytes as json in response . it calls Response inner.

func (*BeegoHTTPRequest) ToXML

func (b *BeegoHTTPRequest) ToXML(v interface{}) error

ToXML returns the map that marshals from the body bytes as xml in response . it calls Response inner.

func (*BeegoHTTPRequest) ToYAML

func (b *BeegoHTTPRequest) ToYAML(v interface{}) error

ToYAML returns the map that marshals from the body bytes as yaml in response . it calls Response inner.

func (*BeegoHTTPRequest) XMLBody

func (b *BeegoHTTPRequest) XMLBody(obj interface{}) (*BeegoHTTPRequest, error)

XMLBody adds request raw body encoding by XML.

func (*BeegoHTTPRequest) YAMLBody

func (b *BeegoHTTPRequest) YAMLBody(obj interface{}) (*BeegoHTTPRequest, error)

YAMLBody adds request raw body encoding by YAML.

type BeegoHTTPSettings

type BeegoHTTPSettings struct {
	ShowDebug       bool
	UserAgent       string
	Timeout         time.Duration
	TLSClientConfig *tls.Config
	Proxy           func(*http.Request) (*url.URL, error)
	Transport       http.RoundTripper
	CheckRedirect   func(req *http.Request, via []*http.Request) error
	EnableCookie    bool
	Gzip            bool
	DumpBody        bool
	Retries         int // if set to -1 means will retry forever
}

BeegoHTTPSettings is the http.Client setting

type DeadCache

type DeadCache struct {
	sync.RWMutex
	Data     map[string]int64
	Duration time.Duration
}

DeadCache 死掉的实例缓存

func NewDeadCache

func NewDeadCache(duration time.Duration) DeadCache

NewDeadCache 实例化DeadCache,每个HTTPServer只对应一个DeadCache

func (*DeadCache) Clean

func (dc *DeadCache) Clean() []string

Clean 缓存清理方法,需要外层起一个goroutine来调用

func (*DeadCache) Exists

func (dc *DeadCache) Exists(key string) bool

Exists 检查某个实例是否存在

func (*DeadCache) Set

func (dc *DeadCache) Set(key string)

Set 放置一个挂掉的实例

func (*DeadCache) Size

func (dc *DeadCache) Size() int

Size 计算所有挂掉的实例的个数

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL