httpc

package
v0.1.16-alpha Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMaxRetriesReached            = errors.New("reached the request retries limit")
	ErrFailedToParseRequestOptions  = errors.New("there was an error while executing request options")
	ErrExecutingRequest             = errors.New("something went wrong while executing this request")
	ErrFailedToParseResponseOptions = errors.New("there was an error while executing response options")
	ErrTooManyRequests              = errors.New("your have sent too many request to this bucket, wait and try again")
)

Functions

func NewJSONRequest

func NewJSONRequest[T any](c *Client, fn func(b RequestBuilder) error) (dst T, err error)

func NewRequest

func NewRequest(c *Client, fn func(b RequestBuilder) error) error

func ResolvePath

func ResolvePath(segments ...string) string

Types

type Client

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

func NewClient

func NewClient(token string, log golog.Logger) *Client

func (*Client) CustomGlobalLimiter

func (c *Client) CustomGlobalLimiter(requests int)

type DiscordError

type DiscordError struct {
	Message string          `json:"message"`
	Errors  json.RawMessage `json:"errors"`
	Code    int             `json:"code"`
}

func (DiscordError) Error

func (e DiscordError) Error() string

type RequestBuilder

type RequestBuilder interface {
	Method(m string) RequestBuilder
	Header(name, value string) RequestBuilder
	Body(v any) RequestBuilder
	Reason(...string) RequestBuilder
	Parse(v any) RequestBuilder
	Retries(n uint) RequestBuilder
	NoAuth() RequestBuilder
	Debug() RequestBuilder
	Multipart(fn func(writer *multipart.Writer) error) RequestBuilder
	OnRequest(opts ...RequestOption) RequestBuilder
	OnResponse(opts ...ResponseOption) RequestBuilder
	Execute(segments ...string) error
}

type RequestOption

type RequestOption func(req *fasthttp.Request) error

type ResponseOption

type ResponseOption func(res *fasthttp.Response) error

Jump to

Keyboard shortcuts

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