Documentation ¶
Index ¶
- Constants
- func HandlerErrorResponse(status int, title, details string) http.HandlerFunc
- func HandlerGetFatalErrorAsJSON() http.HandlerFunc
- func HandlerGetHealth(isAvailable func(ctx context.Context) bool) http.HandlerFunc
- func HandlerGetMethodNotAllowedAsJSON() http.HandlerFunc
- func HandlerGetNotFoundAsJSON() http.HandlerFunc
- func HandlerGetStatusOkAsJSON() http.HandlerFunc
- func HandlerGetSystemInfoAsJSON(cfg SystemInfoConfig) (http.HandlerFunc, error)
- type ErrorAttribute
- type ErrorDetailsResponse
- type ErrorListResponse
- type ErrorSender
- type FileSender
- type Sender
- type SystemInfoConfig
Constants ¶
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 ¶
Send - отправляет клиенту ответ с данными в виде структуры с одним из статусов: 2XX, 3XX.
func (*Sender) SendBytes ¶
SendBytes - отправляет клиенту ответ у указанным массивом байт с одним из статусов: 2XX, 3XX.
func (*Sender) SendNoContent ¶
func (rs *Sender) SendNoContent(w http.ResponseWriter) error
SendNoContent - отправляет клиенту ответ без данных со статусом 204.