send

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: MIT Imports: 9 Imported by: 1

Documentation

Overview

Package send defines a pure computations to compose HTTP request senders

Index

Constants

View Source
const (
	GET    = Method("GET")
	POST   = Method("POST")
	PUT    = Method("PUT")
	DELETE = Method("DELETE")
	PATCH  = Method("PATCH")
)

List of supported built-in method constants

View Source
const (
	Accept            = Content("Accept")
	AcceptCharset     = Header("Accept-Charset")
	AcceptEncoding    = Header("Accept-Encoding")
	AcceptLanguage    = Header("Accept-Language")
	Authorization     = Header("Authorization")
	CacheControl      = Header("Cache-Control")
	Connection        = Lifecycle("Connection")
	ContentEncoding   = Header("Content-Encoding")
	ContentLength     = Header("Content-Length")
	ContentType       = Content("Content-Type")
	Cookie            = Header("Cookie")
	Date              = Header("Date")
	Host              = Header("Host")
	IfMatch           = Header("If-Match")
	IfModifiedSince   = Header("If-Modified-Since")
	IfNoneMatch       = Header("If-None-Match")
	IfRange           = Header("If-Range")
	IfUnmodifiedSince = Header("If-Unmodified-Since")
	Origin            = Header("Origin")
	Range             = Header("Range")
	TransferEncoding  = Header("Transfer-Encoding")
	UserAgent         = Header("User-Agent")
	Upgrade           = Header("Upgrade")
)

List of supported HTTP header constants https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields

Variables

This section is empty.

Functions

func Params

func Params[T any](query T) http.Arrow

Params appends query params to request URL. The arrow takes a struct and converts it to map[string]string. The function fails if input is not convertable to map of strings (e.g. nested struct).

func Send

func Send(data interface{}) http.Arrow

Send payload to destination URL. You can also use native Go data types (e.g. maps, struct, etc) as egress payload. The library implicitly encodes input structures to binary using Content-Type as a hint. The function fails if content type is not supported by the library.

The function accept a "classical" data container such as string, []bytes or io.Reader interfaces.

Types

type Authority added in v1.1.0

type Authority string

Authority is part of URL, use the type to prevent escaping

type Content

type Content Header

Content defines headers for content negotiation

func (Content) ApplicationJSON added in v1.1.0

func (h Content) ApplicationJSON(cat *http.Context) error

ApplicationJSON defines header `???: application/json`

func (Content) Form

func (h Content) Form(cat *http.Context) error

Form defined Header `???: application/x-www-form-urlencoded`

func (Content) HTML

func (h Content) HTML(cat *http.Context) error

HTML defined Header `???: text/html`

func (Content) Is

func (h Content) Is(value string) http.Arrow

Is sets a literval value of HTTP header

func (Content) JSON

func (h Content) JSON(cat *http.Context) error

JSON defines header `???: application/json`

func (Content) Text

func (h Content) Text(cat *http.Context) error

Text defined Header `???: text/plain`

func (Content) TextHTML added in v1.1.0

func (h Content) TextHTML(cat *http.Context) error

TextHTML defined Header `???: text/html`

func (Content) TextPlain added in v1.1.0

func (h Content) TextPlain(cat *http.Context) error

TextPlain defined Header `???: text/plain`

type Header string

Header defines HTTP headers to the request, use combinator to define multiple header values.

  http.Do(
		ø.Header("User-Agent").Is("gurl"),
		ø.Header("Content-Type").Is(content),
	)

func (Header) Is

func (header Header) Is(value string) http.Arrow

Is sets value of HTTP header

func (Header) Set

func (header Header) Set(cat *http.Context, value string) error

Set is combinator to define HTTP header into request

type Lifecycle

type Lifecycle Header

Lifecycle defines headers for connection management

func (Lifecycle) Close

func (h Lifecycle) Close(cat *http.Context) error

Close defines header `???: close`

func (Lifecycle) Is

func (h Lifecycle) Is(value string) http.Arrow

Is sets a literval value of HTTP header

func (Lifecycle) KeepAlive

func (h Lifecycle) KeepAlive(cat *http.Context) error

KeepAlive defines header `???: keep-alive`

type Method

type Method string

Method is base type for HTTP methods

func (Method) URL

func (method Method) URL(uri string, args ...interface{}) http.Arrow

URL defines a mandatory parameters to the request such as HTTP method and destination URL, use Params arrow if you need to supply URL query params.

type Segment added in v1.1.0

type Segment string

Segment is part of URL, use the type to prevent path escaping

Jump to

Keyboard shortcuts

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