http

package
v1.0.143 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderContentType = "Content-Type"
)

Variables

View Source
var (
	Response = P.Head[*H.Response, []byte]
	Body     = P.Tail[*H.Response, []byte]
)
View Source
var (

	// ValidateResponse validates an HTTP response and returns an [E.Either] if the response is not a success
	ValidateResponse = E.FromPredicate(isValidStatus, StatusCodeError)

	// ValidateJSONResponse checks if an HTTP response is a valid JSON response
	ValidateJSONResponse = F.Flow2(
		E.Of[error, *H.Response],
		E.ChainFirst(F.Flow5(
			GetHeader,
			R.Lookup[H.Header](HeaderContentType),
			O.Chain(A.First[string]),
			E.FromOption[string](errors.OnNone("unable to access the [%s] header", HeaderContentType)),
			E.ChainFirst(validateJSONContentTypeString),
		)))
	// ValidateJsonResponse checks if an HTTP response is a valid JSON response
	//
	// Deprecated: use [ValidateJSONResponse] instead
	ValidateJsonResponse = ValidateJSONResponse
)

Functions

func GetBody

func GetBody(resp *H.Response) io.ReadCloser

func GetHeader

func GetHeader(resp *H.Response) H.Header

func ParseMediaType

func ParseMediaType(mediaType string) E.Either[error, ParsedMediaType]

ParseMediaType parses a media type into a tuple

func StatusCodeError

func StatusCodeError(resp *H.Response) error

StatusCodeError creates an instance of HttpError filled with information from the response

Types

type FullResponse

type FullResponse = P.Pair[*H.Response, []byte]

FullResponse represents a full http response, including headers and body

type HttpError added in v1.0.102

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

func (*HttpError) Body added in v1.0.102

func (r *HttpError) Body() []byte

func (*HttpError) Error added in v1.0.102

func (r *HttpError) Error() string

Error fulfills the error interface

func (*HttpError) Headers added in v1.0.102

func (r *HttpError) Headers() H.Header

func (*HttpError) StatusCode added in v1.0.102

func (r *HttpError) StatusCode() int

func (*HttpError) String added in v1.0.102

func (r *HttpError) String() string

func (*HttpError) URL added in v1.0.102

func (r *HttpError) URL() *url.URL

type ParsedMediaType

type ParsedMediaType = P.Pair[string, map[string]string]

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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