requests

package
v0.0.0-...-365054f Latest Latest
Warning

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

Go to latest
Published: May 16, 2024 License: GPL-3.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// DefaultTimeout is a default HTTP client timeout.
	DefaultTimeout = 20 * time.Second
)

Variables

View Source
var ErrAllDialsFailed = errors.New("all dials failed")

ErrAllDialsFailed is returned when connecting to a peer has ultimately failed.

Functions

func NewGetRequest

func NewGetRequest(apiURI, path string, params url.Values) (*http.Request, error)

NewGetRequest generates http Get request

func NewPostRequest

func NewPostRequest(apiURI, path string, requestBody interface{}) (*http.Request, error)

NewPostRequest generates http Post request

func NewSignedGetRequest

func NewSignedGetRequest(apiURI, path string, signer identity.Signer) (*http.Request, error)

NewSignedGetRequest signs empty message and generates http Get request

func NewSignedPostRequest

func NewSignedPostRequest(apiURI, path string, requestBody interface{}, signer identity.Signer) (*http.Request, error)

NewSignedPostRequest signs payload and generates http Post request

func NewSignedPutRequest

func NewSignedPutRequest(apiURI, path string, requestBody interface{}, signer identity.Signer) (*http.Request, error)

NewSignedPutRequest signs payload and generates http Put request

func NewSignedRequest

func NewSignedRequest(httpMethod, apiURI, path string, requestBody interface{}, signer identity.Signer) (*http.Request, error)

NewSignedRequest signs payload and generates http request

func NewTransport

func NewTransport(dialFunc DialContext) *http.Transport

NewTransport returns default HTTP transport which should be reused as it caches underlying TCP connections. If connections pooling is not needed consider to set DisableKeepAlives=false and MaxIdleConnsPerHost=-1.

func ParseResponseError

func ParseResponseError(response *http.Response) error

ParseResponseError parses http.Response error.

func ParseResponseJSON

func ParseResponseJSON(response *http.Response, dto interface{}) error

ParseResponseJSON parses http.Response into given struct.

Types

type DialContext

type DialContext func(ctx context.Context, network, addr string) (net.Conn, error)

DialContext specifies the dial function for creating unencrypted TCP connections.

type Dialer

type Dialer struct {
	// ResolveContext specifies the resolve function for doing custom DNS lookup.
	// If ResolveContext is nil, then the transport dials using package net.
	ResolveContext resolver.ResolveContext

	// Dialer specifies the dial function for creating unencrypted TCP connections.
	Dialer DialContext
}

Dialer wraps default go dialer with extra features.

func NewDialer

func NewDialer(srcIP string) *Dialer

NewDialer creates dialer with default configuration.

func (*Dialer) DialContext

func (d *Dialer) DialContext(ctx context.Context, network, addr string) (conn net.Conn, err error)

DialContext connects to the address on the named network using the provided context.

type DialerSwarm

type DialerSwarm struct {
	// ResolveContext specifies the resolve function for doing custom DNS lookup.
	// If ResolveContext is nil, then the transport dials using package net.
	ResolveContext resolver.ResolveContext

	// Dialer specifies the dial function for creating unencrypted TCP connections.
	Dialer DialContext
	// contains filtered or unexported fields
}

DialerSwarm is a dials to multiple addresses in parallel and earliest successful connection wins.

func NewDialerSwarm

func NewDialerSwarm(srcIP string, dnsHeadstart time.Duration) *DialerSwarm

NewDialerSwarm creates swarm dialer with default configuration.

func (*DialerSwarm) DialContext

func (ds *DialerSwarm) DialContext(ctx context.Context, network, addr string) (net.Conn, error)

DialContext connects to the address on the named network using the provided context.

type ErrorDial

type ErrorDial struct {
	Addr  string
	Cause error
}

ErrorDial is the error returned when dialing a specific address.

func (*ErrorDial) Error

func (e *ErrorDial) Error() string

Error returns string equivalent for error.

func (*ErrorDial) Unwrap

func (e *ErrorDial) Unwrap() error

Unwrap unwraps the original err for use with errors.Unwrap.

type ErrorSwarmDial

type ErrorSwarmDial struct {
	OriginalAddr string
	DialErrors   []ErrorDial
	Cause        error
}

ErrorSwarmDial is the error type returned when dialing multiple addresses.

func (*ErrorSwarmDial) Error

func (e *ErrorSwarmDial) Error() string

Error returns string equivalent for error.

func (*ErrorSwarmDial) Unwrap

func (e *ErrorSwarmDial) Unwrap() error

Unwrap unwraps the original err for use with errors.Unwrap.

type HTTPClient

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

HTTPClient describes a client for performing HTTP requests.

func NewHTTPClient

func NewHTTPClient(srcIP string, timeout time.Duration) *HTTPClient

NewHTTPClient creates a new HTTP client.

func NewHTTPClientWithTransport

func NewHTTPClientWithTransport(transport *http.Transport, timeout time.Duration) *HTTPClient

NewHTTPClientWithTransport creates a new HTTP client with custom transport.

func (*HTTPClient) Do

func (c *HTTPClient) Do(req *http.Request) (*http.Response, error)

Do send an HTTP request and returns an HTTP response.

func (*HTTPClient) DoRequest

func (c *HTTPClient) DoRequest(req *http.Request) error

DoRequest performs HTTP requests and parses error without returning response.

func (*HTTPClient) DoRequestAndParseResponse

func (c *HTTPClient) DoRequestAndParseResponse(req *http.Request, resp interface{}) error

DoRequestAndParseResponse performs HTTP requests and response from JSON.

func (*HTTPClient) DoRequestViaProxy

func (c *HTTPClient) DoRequestViaProxy(req *http.Request, proxyPort int) error

DoRequestViaProxy performs HTTP requests via proxy and parses error without returning response.

func (*HTTPClient) DoRequestViaProxyAndParseResponse

func (c *HTTPClient) DoRequestViaProxyAndParseResponse(req *http.Request, resp interface{}, proxyPort int) error

DoRequestViaProxyAndParseResponse performs HTTP requests and response from JSON.

func (*HTTPClient) DoViaProxy

func (c *HTTPClient) DoViaProxy(req *http.Request, proxyPort int) (*http.Response, error)

DoViaProxy send an HTTP request via proxy and returns an HTTP response.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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