HTTP status codes as registered with IANA. See: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
const (
StatusContinue = 100 // RFC 9110, 15.2.1
StatusSwitchingProtocols = 101 // RFC 9110, 15.2.2
StatusProcessing = 102 // RFC 2518, 10.1
StatusEarlyHints = 103 // RFC 8297
StatusOK = 200 // RFC 9110, 15.3.1
StatusCreated = 201 // RFC 9110, 15.3.2
StatusAccepted = 202 // RFC 9110, 15.3.3
StatusNonAuthoritativeInfo = 203 // RFC 9110, 15.3.4
StatusNoContent = 204 // RFC 9110, 15.3.5
StatusResetContent = 205 // RFC 9110, 15.3.6
StatusPartialContent = 206 // RFC 9110, 15.3.7
StatusMultiStatus = 207 // RFC 4918, 11.1
StatusAlreadyReported = 208 // RFC 5842, 7.1
StatusIMUsed = 226 // RFC 3229, 10.4.1
StatusMultipleChoices = 300 // RFC 9110, 15.4.1
StatusMovedPermanently = 301 // RFC 9110, 15.4.2
StatusFound = 302 // RFC 9110, 15.4.3
StatusSeeOther = 303 // RFC 9110, 15.4.4
StatusNotModified = 304 // RFC 9110, 15.4.5
StatusUseProxy = 305 // RFC 9110, 15.4.6
StatusTemporaryRedirect = 307 // RFC 9110, 15.4.8
StatusPermanentRedirect = 308 // RFC 9110, 15.4.9
StatusBadRequest = 400 // RFC 9110, 15.5.1
= 401 // RFC 9110, 15.5.2
StatusPaymentRequired = 402 // RFC 9110, 15.5.3
StatusForbidden = 403 // RFC 9110, 15.5.4
StatusNotFound = 404 // RFC 9110, 15.5.5
StatusMethodNotAllowed = 405 // RFC 9110, 15.5.6
StatusNotAcceptable = 406 // RFC 9110, 15.5.7
StatusProxyAuthRequired = 407 // RFC 9110, 15.5.8
StatusRequestTimeout = 408 // RFC 9110, 15.5.9
StatusConflict = 409 // RFC 9110, 15.5.10
StatusGone = 410 // RFC 9110, 15.5.11
StatusLengthRequired = 411 // RFC 9110, 15.5.12
StatusPreconditionFailed = 412 // RFC 9110, 15.5.13
StatusRequestEntityTooLarge = 413 // RFC 9110, 15.5.14
StatusRequestURITooLong = 414 // RFC 9110, 15.5.15
StatusUnsupportedMediaType = 415 // RFC 9110, 15.5.16
StatusRequestedRangeNotSatisfiable = 416 // RFC 9110, 15.5.17
StatusExpectationFailed = 417 // RFC 9110, 15.5.18
StatusTeapot = 418 // RFC 9110, 15.5.19 (Unused)
StatusMisdirectedRequest = 421 // RFC 9110, 15.5.20
StatusUnprocessableEntity = 422 // RFC 9110, 15.5.21
StatusLocked = 423 // RFC 4918, 11.3
StatusFailedDependency = 424 // RFC 4918, 11.4
StatusTooEarly = 425 // RFC 8470, 5.2.
StatusUpgradeRequired = 426 // RFC 9110, 15.5.22
StatusPreconditionRequired = 428 // RFC 6585, 3
StatusTooManyRequests = 429 // RFC 6585, 4
StatusRequestHeaderFieldsTooLarge = 431 // RFC 6585, 5
= 451 // RFC 7725, 3
StatusInternalServerError = 500 // RFC 9110, 15.6.1
StatusNotImplemented = 501 // RFC 9110, 15.6.2
StatusBadGateway = 502 // RFC 9110, 15.6.3
= 503 // RFC 9110, 15.6.4
StatusGatewayTimeout = 504 // RFC 9110, 15.6.5
StatusHTTPVersionNotSupported = 505 // RFC 9110, 15.6.6
StatusVariantAlsoNegotiates = 506 // RFC 2295, 8.1
StatusInsufficientStorage = 507 // RFC 4918, 11.5
StatusLoopDetected = 508 // RFC 5842, 7.2
StatusNotExtended = 510 // RFC 2774, 7
StatusNetworkAuthenticationRequired = 511 // RFC 6585, 6
)
func SetDefaultHeaders(headers hctypes.Dict)
SetDefaultHeaders sets the default headers to use in the request.
headers: hctypes.Dict representing the HTTP headers.
func StatusText(code int) string
StatusText returns a text for the HTTP status code. It returns the empty string if the code is unknown.
Http represents the HTTP client.
type Http struct {
Headers hctypes.Dict // the headers to include in the request
}
func NewHttp(headers hctypes.Dict) *Http
NewHttp creates a new Http instance.
headers: hctypes.Dict representing the HTTP headers. Returns a pointer to Http.
func (http *Http) Delete(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Delete sends a DELETE request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Get(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Get sends a GET request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Head(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Head sends a HEAD request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Options(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Options sends an OPTIONS request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Patch(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Patch sends a PATCH request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Post(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Post sends a POST request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Put(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Put sends a PUT request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
func (http *Http) Request(method string, url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Request sends an HTTP request.
method: string representing the HTTP method. url: string representing the URL of the request. url_param: hctypes.Dict representing the URL parameters. body: hctypes.Buffer representing the request body. Returns a pointer to Output and an error.
func (http *Http) Trace(url string, url_param hctypes.Dict, body hctypes.Buffer) (*Output, error)
Trace sends a TRACE request to the specified URL.
url: the URL to send the request to url_param: the URL parameters to include in the request body: the request body to send Returns *Output and error
Input represents the input of the Request function.
type Input struct {
Method string // GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE
URL string // the URL to send the request to
URLParams hctypes.Dict // the URL parameters to include in the request
Headers hctypes.Dict // the headers to include in the request
Body hctypes.Buffer // the request body to send
}
Output represents the output of the Request function.
type Output struct {
Status int // the HTTP status code returned by the server
StatusText string // the HTTP status text returned by the server
Headers hctypes.Dict // the headers returned by the server
Body hctypes.Buffer // the body returned by the server
}
func Request(in *Input) (*Output, error)
Request sends an HTTP request.
in: *Input representing the input of the Request function.