Documentation
¶
Index ¶
- Variables
- func Header(name string) L.Lens[*Builder, O.Option[string]]
- func WithHeader(name string) func(value string) BuilderEndomorphism
- type Builder
- func (builder *Builder) AddHeaderHeader(name, value string) *Builder
- func (builder *Builder) DelHeader(name string) *Builder
- func (builder *Builder) GetBody() O.Option[IOE.IOEither[error, []byte]]
- func (builder *Builder) GetHeader(name string) O.Option[string]
- func (builder *Builder) GetHeaderValues(name string) []string
- func (builder *Builder) GetHeaders() http.Header
- func (builder *Builder) GetMethod() string
- func (builder *Builder) GetUrl() string
- func (builder *Builder) Requester() IOEH.Requester
- func (builder *Builder) SetBody(body O.Option[IOE.IOEither[error, []byte]]) *Builder
- func (builder *Builder) SetHeader(name, value string) *Builder
- func (builder *Builder) SetHeaders(headers http.Header) *Builder
- func (builder *Builder) SetMethod(method string) *Builder
- func (builder *Builder) SetUrl(url string) *Builder
- type BuilderEndomorphism
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Default is the default builder Default = &Builder{method: O.Some(defaultMethod()), headers: make(http.Header), body: noBody} // BuilderMonoid is the [M.Monoid] for the [BuilderEndomorphism] BuilderMonoid = ENDO.Monoid[*Builder]() // Url is a [L.Lens] for the URL Url = L.MakeLensRef((*Builder).GetUrl, (*Builder).SetUrl) // Method is a [L.Lens] for the HTTP method Method = L.MakeLensRef((*Builder).GetMethod, (*Builder).SetMethod) // Body is a [L.Lens] for the request body Body = L.MakeLensRef((*Builder).GetBody, (*Builder).SetBody) // Headers is a [L.Lens] for the complete set of request headers Headers = L.MakeLensRef((*Builder).GetHeaders, (*Builder).SetHeaders) // WithMethod creates a [BuilderBuilder] for a certain method WithMethod = F.Flow2( Method.Set, ENDO.Of[func(*Builder) *Builder], ) // WithUrl creates a [BuilderBuilder] for a certain method WithUrl = F.Flow2( Url.Set, ENDO.Of[func(*Builder) *Builder], ) // WithHeaders creates a [BuilderBuilder] for a set of headers WithHeaders = F.Flow2( Headers.Set, ENDO.Of[func(*Builder) *Builder], ) // WithBody creates a [BuilderBuilder] for a request body WithBody = F.Flow3( O.Of[IOE.IOEither[error, []byte]], Body.Set, ENDO.Of[func(*Builder) *Builder], ) // WithContentType adds the content type header WithContentType = WithHeader("Content-Type") // WithGet adds the [http.MethodGet] method WithGet = WithMethod(http.MethodGet) // WithPost adds the [http.MethodPost] method WithPost = WithMethod(http.MethodPost) // WithPut adds the [http.MethodPut] method WithPut = WithMethod(http.MethodPut) // WithDelete adds the [http.MethodDelete] method WithDelete = WithMethod(http.MethodDelete) // Requester creates a requester from a builder Requester = (*Builder).Requester // WithoutBody creates a [BuilderBuilder] to remove the body WithoutBody = F.Pipe2( noBody, Body.Set, ENDO.Of[func(*Builder) *Builder], ) )
Functions ¶
func WithHeader ¶
func WithHeader(name string) func(value string) BuilderEndomorphism
WithHeader creates a [BuilderBuilder] for a certain header
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func (*Builder) AddHeaderHeader ¶
func (*Builder) GetHeaderValues ¶
func (*Builder) GetHeaders ¶
type BuilderEndomorphism ¶ added in v1.0.75
type BuilderEndomorphism = ENDO.Endomorphism[*Builder]
BuilderEndomorphism returns an [ENDO.Endomorphism] that transforms a builder
func WithFormData ¶ added in v1.0.72
func WithFormData(value url.Values) BuilderEndomorphism
WithFormData creates a [BuilderBuilder] to send form data payload
func WithJson ¶ added in v1.0.72
func WithJson[T any](data T) BuilderEndomorphism
WithJson creates a [BuilderBuilder] to send JSON payload
func WithoutHeader ¶
func WithoutHeader(name string) BuilderEndomorphism
WithoutHeader creates a [BuilderBuilder] to remove a certain header
Click to show internal directories.
Click to hide internal directories.