mrresp

package
v0.27.1 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrorAttributeIDByDefault = "generalError" // ErrorAttributeIDByDefault - название пользовательской ошибки по умолчанию
)

Variables

This section is empty.

Functions

func HandlerErrorResponse added in v0.18.0

func HandlerErrorResponse(status int, title, details string) http.HandlerFunc

HandlerErrorResponse - возвращает обработчик для формирования ошибки согласно RFC 7807 (Problem Details for HTTP APIs).

func HandlerGetFatalErrorAsJSON added in v0.18.0

func HandlerGetFatalErrorAsJSON() http.HandlerFunc

HandlerGetFatalErrorAsJSON - возвращает обработчик для формирования 500 ошибки.

func HandlerGetHealth

func HandlerGetHealth(isAvailable func(ctx context.Context) bool) http.HandlerFunc

HandlerGetHealth - обработчик для использования в качестве проверки работоспособности сервиса.

func HandlerGetMethodNotAllowedAsJSON added in v0.18.0

func HandlerGetMethodNotAllowedAsJSON() http.HandlerFunc

HandlerGetMethodNotAllowedAsJSON - возвращает обработчик для формирования 405 ошибки.

func HandlerGetNotFoundAsJSON added in v0.18.0

func HandlerGetNotFoundAsJSON() http.HandlerFunc

HandlerGetNotFoundAsJSON - возвращает обработчик для формирования 404 ошибки.

func HandlerGetStatusOkAsJSON added in v0.18.0

func HandlerGetStatusOkAsJSON() http.HandlerFunc

HandlerGetStatusOkAsJSON - возвращает обработчик, который формирует ответ OK в JSON формате.

func HandlerGetSystemInfoAsJSON added in v0.18.0

func HandlerGetSystemInfoAsJSON(cfg SystemInfoConfig) (http.HandlerFunc, error)

HandlerGetSystemInfoAsJSON - возвращает обработчик для формирования информации о запущенной системе.

Types

type ErrorAttribute

type ErrorAttribute struct {
	ID        string `json:"id"`
	Value     string `json:"value"`
	DebugInfo string `json:"debugInfo,omitempty"`
}

ErrorAttribute - пользовательская ошибка с идентификатором и её значением.

type ErrorDetailsResponse

type ErrorDetailsResponse struct {
	Title        string `json:"title"`
	Details      string `json:"details"`
	Request      string `json:"request"`
	Time         string `json:"time"`
	ErrorTraceID string `json:"errorTraceId,omitempty"`
}

ErrorDetailsResponse - application/problem+json (401, 403, 404, 418, 422, 5XX).

type ErrorListResponse

type ErrorListResponse []ErrorAttribute

ErrorListResponse - используется для формирования ответа application/json (400).

type ErrorSender

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

ErrorSender - формирует и отправляет клиенту ответ об ошибке.

func NewErrorSender

func NewErrorSender(
	encoder mrserver.ResponseEncoder,
	errorHandler mrcore.ErrorHandler,
	statusGetter mrserver.ErrorStatusGetter,
	isDebug bool,
) *ErrorSender

NewErrorSender - создаёт объект ErrorSender.

func (*ErrorSender) SendError

func (rs *ErrorSender) SendError(w http.ResponseWriter, r *http.Request, err error)

SendError - отправляет клиенту ответ об ошибке с одним из статусов: 4XX, 5XX и её деталями.

type FileSender

type FileSender struct {
	*Sender
}

FileSender - формирует и отправляет клиенту ответ с указанным файлом.

func NewFileSender

func NewFileSender(base *Sender) *FileSender

NewFileSender - создаёт объект FileSender.

func (*FileSender) SendAttachmentFile

func (rs *FileSender) SendAttachmentFile(ctx context.Context, w http.ResponseWriter, file mrtype.File) error

SendAttachmentFile - отправляет указанный файл в виде вложения для сохранения локально, в случае неудачи возвращает ошибку.

func (*FileSender) SendFile

func (rs *FileSender) SendFile(ctx context.Context, w http.ResponseWriter, file mrtype.File) error

SendFile - отправляет указанный файл, в случае неудачи возвращает ошибку.

type Sender

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

Sender - формирует и отправляет клиенту успешный ответ.

func NewSender

func NewSender(encoder mrserver.ResponseEncoder) *Sender

NewSender - создаёт объект Sender.

func (*Sender) Send

func (rs *Sender) Send(w http.ResponseWriter, status int, structure any) error

Send - отправляет клиенту ответ с данными в виде структуры с одним из статусов: 2XX, 3XX.

func (*Sender) SendBytes

func (rs *Sender) SendBytes(w http.ResponseWriter, status int, body []byte) error

SendBytes - отправляет клиенту ответ у указанным массивом байт с одним из статусов: 2XX, 3XX.

func (*Sender) SendNoContent

func (rs *Sender) SendNoContent(w http.ResponseWriter) error

SendNoContent - отправляет клиенту ответ без данных со статусом 204.

type SystemInfoConfig

type SystemInfoConfig struct {
	Name        string
	Version     string
	Environment string
	IsDebug     bool
	LogLevel    mrlog.Level
	StartedAt   time.Time
	Processes   func(ctx context.Context) map[string]string
}

SystemInfoConfig - информация о запущенной системе.

Jump to

Keyboard shortcuts

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