outgoing

package
v0.0.0-...-082a3d8 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMethodEmpty = errors.New("method is empty")
	ErrURLEmpty    = errors.New("url is empty")
)

Functions

This section is empty.

Types

type AuthSender

type AuthSender interface {
	BasicAuth(username, password string) PayloadSender
	BearerAuth(token string) PayloadSender
	CustomAuth(scheme, token string) PayloadSender
}

type BodySender

type BodySender interface {
	Body(body io.Reader, contentType string) PayloadSender
	BytesBody(body []byte, contentType string) PayloadSender
	TextBody(body string, contentType string) PayloadSender
	FormBody(form url.Values) PayloadSender
	ObjectBody(body any, marshal func(any) ([]byte, error), contentType string) PayloadSender
	JSONBody(body any) PayloadSender
	XMLBody(body any) PayloadSender
	ProtobufBody(body proto.Message) PayloadSender
	GobBody(body any) PayloadSender
	MultipartBody(formData ...*FormData) PayloadSender
}

type CacheControlSender

type CacheControlSender interface {
	IfModifiedSince(t time.Time) PayloadSender
	IfUnmodifiedSince(t time.Time) PayloadSender
	IfNoneMatch(etag string) PayloadSender
	IfMatch(etags ...string) PayloadSender
	CacheControl(directives ...string) PayloadSender
}

type CookieSender

type CookieSender interface {
	Cookie(cookie *http.Cookie) PayloadSender
	AddCookie(cookie *http.Cookie) PayloadSender
	DelCookie(cookie *http.Cookie) PayloadSender
	Cookies(cookies ...*http.Cookie) PayloadSender
}

type FormData

type FormData struct {
	FieldName string
	Value     string
	File      io.Reader
	Filename  string
}

type HeaderSender

type HeaderSender interface {
	Header(name, value string, uncanonical ...bool) PayloadSender
	AddHeader(name, value string, uncanonical ...bool) PayloadSender
	DelHeader(name string) PayloadSender
	Headers(header http.Header) PayloadSender
	AuthSender
	UserAgent(ua string) PayloadSender
	CacheControlSender
}

type Invoker

type Invoker func(ctx context.Context, req *http.Request, cli *http.Client) (*http.Response, error)

type MarshalError

type MarshalError struct {
	Object any
	Err    error
}

func (MarshalError) Error

func (e MarshalError) Error() string

type Middleware

type Middleware func(ctx context.Context, req *http.Request, cli *http.Client, invoker Invoker) (*http.Response, error)

type PayloadSender

type PayloadSender interface {
	QuerySender
	HeaderSender
	CookieSender
	BodySender
	Middleware(middlewares ...Middleware) PayloadSender
	Build(ctx context.Context) (*http.Request, error)
	Send(ctx context.Context, clis ...*http.Client) (ResponseReceiver, error)
}

type QuerySender

type QuerySender interface {
	Query(name, value string) PayloadSender
	AddQuery(key, value string) PayloadSender
	DelQuery(name string) PayloadSender
	QueryString(q string) PayloadSender
	Queries(queries url.Values) PayloadSender
}

type RequestSender

type RequestSender interface {
	Method(method string) URLSender
	Get() URLSender
	Head() URLSender
	Post() URLSender
	Put() URLSender
	Patch() URLSender
	Delete() URLSender
	Connect() URLSender
	Options() URLSender
	Trace() URLSender
}

func Sender

func Sender() RequestSender

type ResponseReceiver

type ResponseReceiver interface {
	Response() *http.Response
	Status() string
	StatusCode() int
	Proto() string
	ProtoMajor() int
	ProtoMinor() int
	ContentLength() int64
	TransferEncoding() []string
	Headers() http.Header
	Trailers() http.Header
	Cookies() []*http.Cookie
	BytesBody() ([]byte, error)
	TextBody() (string, error)
	ObjectBody(body any, unmarshal func([]byte, any) error) error
	JSONBody(body any) error
	XMLBody(body any) error
	ProtobufBody(body proto.Message) error
	GobBody(body any) error
	WriterBody(file io.Writer) error
}

func Receiver

func Receiver(resp *http.Response) ResponseReceiver

type URLSender

type URLSender interface {
	URL(uri *url.URL) PayloadSender
	URLString(urlString string) PayloadSender
}

type UnmarshalError

type UnmarshalError struct {
	Body []byte
	Err  error
}

func (UnmarshalError) Error

func (e UnmarshalError) Error() string

Jump to

Keyboard shortcuts

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