httpreq

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildResponse added in v0.0.3

func BuildResponse(response *http.Response) *httpRes

func GenCurlCommand added in v1.0.1

func GenCurlCommand(req *http.Request, httpCookiejar http.CookieJar) (curlString string)

Types

type ContentType

type ContentType string
const (
	ContentTypeNone       ContentType = ""
	ContentTypeFormEncode ContentType = "application/x-www-form-urlencoded"
	ContentTypeFormData   ContentType = "multipart/form-data"
	ContentTypeJson       ContentType = "application/json"
	ContentTypePlain      ContentType = "text/plain"
)

type RequestBuilder added in v0.0.5

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

func R

func R() *RequestBuilder

func (*RequestBuilder) AddCookieKV added in v0.0.5

func (r *RequestBuilder) AddCookieKV(name, value string) *RequestBuilder

func (*RequestBuilder) AddCookies added in v0.0.5

func (r *RequestBuilder) AddCookies(cookies []*http.Cookie) *RequestBuilder

func (*RequestBuilder) AddFile added in v0.0.5

func (r *RequestBuilder) AddFile(fieldname, path string) *RequestBuilder

************* params ********************* ************* file *********************

func (*RequestBuilder) AddFileHeader added in v0.0.5

func (r *RequestBuilder) AddFileHeader(fieldname, filename string, content []byte) *RequestBuilder

func (*RequestBuilder) EnableTrace added in v0.0.5

func (r *RequestBuilder) EnableTrace(ctx context.Context) *RequestBuilder

func (*RequestBuilder) FromCurl added in v0.0.5

func (r *RequestBuilder) FromCurl(curl string)

func (*RequestBuilder) GenCurlCommand added in v1.0.1

func (r *RequestBuilder) GenCurlCommand() (curl string, err error)

func (*RequestBuilder) GenRequest added in v1.0.1

func (rb *RequestBuilder) GenRequest() (*http.Request, error)

func (*RequestBuilder) GetRawreq added in v0.0.5

func (r *RequestBuilder) GetRawreq() *http.Request

************* utils *********************

func (*RequestBuilder) SetAuthBasic added in v0.0.5

func (r *RequestBuilder) SetAuthBasic(username, password string) *RequestBuilder

func (*RequestBuilder) SetAuthBearer added in v0.0.5

func (r *RequestBuilder) SetAuthBearer(token string) *RequestBuilder

func (*RequestBuilder) SetBody added in v0.0.6

func (r *RequestBuilder) SetBody(body []byte) *RequestBuilder

************* body(bytes) *********************

func (*RequestBuilder) SetContentType added in v0.0.6

func (r *RequestBuilder) SetContentType(ct ContentType) *RequestBuilder

func (*RequestBuilder) SetCtx added in v0.0.5

func (r *RequestBuilder) SetCtx(ctx context.Context) *RequestBuilder

func (*RequestBuilder) SetFormData added in v0.0.6

func (r *RequestBuilder) SetFormData(data map[string]string) *RequestBuilder

func (*RequestBuilder) SetFormDataFromValues added in v0.0.6

func (r *RequestBuilder) SetFormDataFromValues(data url.Values) *RequestBuilder

SetFormDataFromValues method appends multiple form parameters with multi-value

SetFormDataFromValues(url.Values{"words": []string{"book", "glass", "pencil"},})

func (*RequestBuilder) SetHeader added in v0.0.5

func (r *RequestBuilder) SetHeader(key, value string) *RequestBuilder

*****************header ************************

func (*RequestBuilder) SetHost added in v0.0.8

func (r *RequestBuilder) SetHost(host string) *RequestBuilder

*****************host************************

func (*RequestBuilder) SetIsMultiPart added in v0.0.6

func (r *RequestBuilder) SetIsMultiPart(b bool) *RequestBuilder

************* body(form) ********************* Set Form data(encode or multipart)

func (*RequestBuilder) SetJson added in v0.0.6

func (r *RequestBuilder) SetJson(data any) *RequestBuilder

************* body(json) *********************

func (*RequestBuilder) SetQueryParam added in v0.0.6

func (r *RequestBuilder) SetQueryParam(param, value string) *RequestBuilder

func (*RequestBuilder) SetQueryParams added in v0.0.6

func (r *RequestBuilder) SetQueryParams(params map[string]string) *RequestBuilder

************* params *********************

func (*RequestBuilder) SetQueryParamsFromValues added in v0.0.6

func (r *RequestBuilder) SetQueryParamsFromValues(params url.Values) *RequestBuilder

func (*RequestBuilder) SetReq added in v0.0.5

func (r *RequestBuilder) SetReq(method string, url string) *RequestBuilder

func (*RequestBuilder) SetUrl added in v0.0.5

func (r *RequestBuilder) SetUrl(url string) *RequestBuilder

type TraceInfo

type TraceInfo struct {
	// DNSLookup is a duration that transport took to perform
	// DNS lookup.
	DNSLookup time.Duration

	// ConnTime is a duration that took to obtain a successful connection.
	ConnTime time.Duration

	// TCPConnTime is a duration that took to obtain the TCP connection.
	TCPConnTime time.Duration

	// TLSHandshake is a duration that TLS handshake took place.
	TLSHandshake time.Duration

	// ServerTime is a duration that server took to respond first byte.
	ServerTime time.Duration

	// ResponseTime is a duration since first response byte from server to
	// request completion.
	ResponseTime time.Duration

	// TotalTime is a duration that total request took end-to-end.
	TotalTime time.Duration

	// IsConnReused is whether this connection has been previously
	// used for another HTTP request.
	IsConnReused bool

	// IsConnWasIdle is whether this connection was obtained from an
	// idle pool.
	IsConnWasIdle bool

	// ConnIdleTime is a duration how long the connection was previously
	// idle, if IsConnWasIdle is true.
	ConnIdleTime time.Duration

	// RequestAttempt is to represent the request attempt made during a Resty
	// request execution flow, including retry count.
	RequestAttempt int

	// RemoteAddr returns the remote network address.
	RemoteAddr net.Addr
}

TraceInfo struct is used provide request trace info such as DNS lookup duration, Connection obtain duration, Server processing duration, etc.

Since v2.0.0

Jump to

Keyboard shortcuts

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