aghhttp

package
v0.107.55 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Package aghhttp provides some common methods to work with HTTP.

Index

Constants

View Source
const (
	HdrValApplicationJSON         = "application/json"
	HdrValStrictTransportSecurity = "max-age=31536000; includeSubDomains"
	HdrValTextPlain               = "text/plain"
)

HTTP header value constants.

View Source
const (
	// ErrorCodeTMP000 is the temporary error code used for all errors.
	ErrorCodeTMP000 = ""
)

ErrorCode constants.

TODO(a.garipov): Expand and document codes.

Variables

This section is empty.

Functions

func Error

func Error(r *http.Request, w http.ResponseWriter, code int, format string, args ...any)

Error writes formatted message to w and also logs it.

TODO(s.chzhen): Remove it.

func ErrorAndLog added in v0.107.53

func ErrorAndLog(
	ctx context.Context,
	l *slog.Logger,
	r *http.Request,
	w http.ResponseWriter,
	code int,
	format string,
	args ...any,
)

ErrorAndLog writes formatted message to w and also logs it with the specified logging level.

func OK

func OK(w http.ResponseWriter)

OK responds with word OK.

func UserAgent added in v0.107.14

func UserAgent() (ua string)

UserAgent returns the ID of the service as a User-Agent string. It can also be used as the value of the Server HTTP header.

func WriteJSONResponse added in v0.107.14

func WriteJSONResponse(w http.ResponseWriter, r *http.Request, code int, resp any)

WriteJSONResponse writes headers with the code, encodes resp into w, and logs any errors it encounters. r is used to get additional information from the request.

func WriteJSONResponseError added in v0.107.37

func WriteJSONResponseError(w http.ResponseWriter, r *http.Request, err error)

WriteJSONResponseError encodes err as a JSON error into w, and logs any errors it encounters. r is used to get additional information from the request.

func WriteJSONResponseOK added in v0.107.37

func WriteJSONResponseOK(w http.ResponseWriter, r *http.Request, v any)

WriteJSONResponseOK writes headers with the code 200 OK, encodes v into w, and logs any errors it encounters. r is used to get additional information from the request.

func WriteTextPlainDeprecated added in v0.107.14

func WriteTextPlainDeprecated(w http.ResponseWriter, r *http.Request) (isPlainText bool)

WriteTextPlainDeprecated responds to the request with a message about deprecation and removal of a plain-text API if the request is made with the "text/plain" content-type.

Types

type ErrorCode added in v0.107.37

type ErrorCode string

ErrorCode is the error code as used by the HTTP API. See the ErrorCode definition in the OpenAPI specification.

type HTTPAPIErrorResp added in v0.107.37

type HTTPAPIErrorResp struct {
	Code ErrorCode `json:"code"`
	Msg  string    `json:"msg"`
}

HTTPAPIErrorResp is the error response as used by the HTTP API. See the BadRequestResp, InternalServerErrorResp, and similar objects in the OpenAPI specification.

type JSONDuration added in v0.107.37

type JSONDuration time.Duration

JSONDuration is a time.Duration that can be decoded from JSON and encoded into JSON according to our API conventions.

func (JSONDuration) MarshalJSON added in v0.107.37

func (d JSONDuration) MarshalJSON() (b []byte, err error)

MarshalJSON implements the json.Marshaler interface for JSONDuration. err is always nil.

func (*JSONDuration) UnmarshalJSON added in v0.107.37

func (d *JSONDuration) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the json.Marshaler interface for *JSONDuration.

type JSONTime added in v0.107.37

type JSONTime time.Time

JSONTime is a time.Time that can be decoded from JSON and encoded into JSON according to our API conventions.

func (JSONTime) MarshalJSON added in v0.107.37

func (t JSONTime) MarshalJSON() (b []byte, err error)

MarshalJSON implements the json.Marshaler interface for JSONTime. err is always nil.

func (*JSONTime) UnmarshalJSON added in v0.107.37

func (t *JSONTime) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the json.Marshaler interface for *JSONTime.

type RegisterFunc added in v0.107.10

type RegisterFunc func(method, url string, handler http.HandlerFunc)

RegisterFunc is the function that sets the handler to handle the URL for the method.

TODO(e.burkov, a.garipov): Get rid of it.

Jump to

Keyboard shortcuts

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