rawhttp

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2021 License: MIT Imports: 15 Imported by: 87

README

rawhttp

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultClient = Client{

	Options: DefaultOptions,
	// contains filtered or unexported fields
}

DefaultClient is the default HTTP client for doing raw requests

View Source
var DefaultOptions = Options{
	Timeout:                30 * time.Second,
	FollowRedirects:        true,
	MaxRedirects:           10,
	AutomaticHostHeader:    true,
	AutomaticContentLength: true,
}

DefaultOptions is the default configuration options for the client

View Source
var DefaultPipelineOptions = PipelineOptions{
	Timeout:             30 * time.Second,
	MaxConnections:      5,
	MaxPendingRequests:  100,
	AutomaticHostHeader: true,
}

DefaultPipelineOptions is the default options for pipelined http client

Functions

func AutomaticContentLength

func AutomaticContentLength(enable bool)

AutomaticContentLength performs automatic calculation of request content length.

func AutomaticHostHeader

func AutomaticHostHeader(enable bool)

AutomaticHostHeader sets Host header for requests automatically

func Do

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

Do sends a http request and returns a response

func DoRaw

func DoRaw(method, url, uripath string, headers map[string][]string, body io.Reader) (*http.Response, error)

DoRaw does a raw request with some configuration

func Dor

func Dor(req *retryablehttp.Request) (*http.Response, error)

Dor sends a retryablehttp request and returns a response

func DumpRequestRaw added in v0.0.2

func DumpRequestRaw(method, url, uripath string, headers map[string][]string, body io.Reader, options Options) ([]byte, error)

DumpRequestRaw to string

func Get

func Get(url string) (*http.Response, error)

Get makes a GET request to a given URL

func Post

func Post(url string, mimetype string, r io.Reader) (*http.Response, error)

Post makes a POST request to a given URL

Types

type Client

type Client struct {
	Options Options
	// contains filtered or unexported fields
}

Client is a client for making raw http requests with go

func NewClient

func NewClient(options Options) *Client

NewClient creates a new rawhttp client with provided options

func (*Client) Do

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

Do sends a http request and returns a response

func (*Client) DoRaw

func (c *Client) DoRaw(method, url, uripath string, headers map[string][]string, body io.Reader) (*http.Response, error)

DoRaw does a raw request with some configuration

func (*Client) DoRawWithOptions added in v0.0.2

func (c *Client) DoRawWithOptions(method, url, uripath string, headers map[string][]string, body io.Reader, options Options) (*http.Response, error)

DoRawWithOptions performs a raw request with additional options

func (*Client) Dor

func (c *Client) Dor(req *retryablehttp.Request) (*http.Response, error)

Dor sends a retryablehttp request and returns the response

func (*Client) Get

func (c *Client) Get(url string) (*http.Response, error)

Get makes a GET request to a given URL

func (*Client) Head

func (c *Client) Head(url string) (*http.Response, error)

Head makes a HEAD request to a given URL

func (*Client) Post

func (c *Client) Post(url string, mimetype string, body io.Reader) (*http.Response, error)

Post makes a POST request to a given URL

type Conn

type Conn interface {
	client.Client
	io.Closer

	SetDeadline(time.Time) error
	SetReadDeadline(time.Time) error
	SetWriteDeadline(time.Time) error
	Release()
}

Conn is an interface implemented by a connection

type Dialer

type Dialer interface {
	// Dial dials a remote http server returning a Conn.
	Dial(protocol, addr string) (Conn, error)
}

Dialer can dial a remote HTTP server.

type Options

type Options struct {
	Timeout                time.Duration
	FollowRedirects        bool
	MaxRedirects           int
	AutomaticHostHeader    bool
	AutomaticContentLength bool
	CustomHeaders          client.Headers
	CustomRawBytes         []byte
}

Options contains configuration options for rawhttp client

type PipelineClient

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

PipelineClient is a client for making pipelined http requests

func NewPipelineClient

func NewPipelineClient(options PipelineOptions) *PipelineClient

NewPipelineClient creates a new pipelined http request client

func (*PipelineClient) Do

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

Do sends a http request and returns a response

func (*PipelineClient) DoRaw

func (c *PipelineClient) DoRaw(method, url, uripath string, headers map[string][]string, body io.Reader) (*http.Response, error)

DoRaw does a raw request with some configuration

func (*PipelineClient) DoRawWithOptions added in v0.0.2

func (c *PipelineClient) DoRawWithOptions(method, url, uripath string, headers map[string][]string, body io.Reader, options PipelineOptions) (*http.Response, error)

DoRawWithOptions performs a raw request with additional options

func (*PipelineClient) Dor

Dor sends a retryablehttp request and returns a response

func (*PipelineClient) Get

func (c *PipelineClient) Get(url string) (*http.Response, error)

Get makes a GET request to a given URL

func (*PipelineClient) Head

func (c *PipelineClient) Head(url string) (*http.Response, error)

Head makes a HEAD request to a given URL

func (*PipelineClient) Post

func (c *PipelineClient) Post(url string, mimetype string, body io.Reader) (*http.Response, error)

Post makes a POST request to a given URL

type PipelineOptions

type PipelineOptions struct {
	Dialer              clientpipeline.DialFunc
	Host                string
	Timeout             time.Duration
	MaxConnections      int
	MaxPendingRequests  int
	AutomaticHostHeader bool
}

PipelineOptions contains options for pipelined http client

type RedirectStatus

type RedirectStatus struct {
	FollowRedirects bool
	MaxRedirects    int
	Current         int
}

RedirectStatus is the current redirect status for the request

type StatusError

type StatusError struct {
	client.Status
}

StatusError is a HTTP status error object

func (*StatusError) Error

func (s *StatusError) Error() string

Directories

Path Synopsis
example
client command
server command

Jump to

Keyboard shortcuts

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