Documentation
¶
Index ¶
- type Essence
- type Interface
- type RestError
- func (reo *RestError) Add(field string, value string, msg string) RestErrorInterface
- func (reo *RestError) AddWithKey(field string, value string, msg string, key string) RestErrorInterface
- func (reo *RestError) AsError() (err error)
- func (reo *RestError) CodeGet() int
- func (reo *RestError) CodeSet(code int) RestErrorInterface
- func (reo *RestError) Field() []RestErrorField
- func (reo *RestError) I18nKeyGet() string
- func (reo *RestError) I18nKeySet(key string) RestErrorInterface
- func (reo *RestError) Json(wr http.ResponseWriter)
- func (reo *RestError) JsonBytes() (ret *bytes.Buffer, err error)
- func (reo *RestError) MessageGet() string
- func (reo *RestError) MessageSet(msg string) RestErrorInterface
- type RestErrorBody
- type RestErrorField
- type RestErrorInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Essence ¶
type Essence interface {
// Debug Присвоение нового значения режима отладки.
Debug(debug bool) Essence
}
Essence Служебный публичный интерфейс.
type Interface ¶
type Interface interface {
// Gist Интерфейс служебных методов.
Gist() Essence
// NewRestError Создание объекта интерфейса, стандартного REST ответа с ошибкой для кодов ошибок 4xx и 5xx.
NewRestError(status dic.IStatus, err error) RestErrorInterface
// RqVar Интерфейс модуля github.com/webnice/kit/module/rqvar. Поиск и загрузка данных из:
// + контекста HTTP запроса;
// + заголовков HTTP запроса;
// + "печенек" HTTP запроса;
// + параметров HTTP запроса, а именно в URL Request;
// + путей URN роутинга HTTP запроса;
// + вызов функции структуры загружаемых данных;
RqVar() kitModuleRqVar.Interface
// RqBytes Загрузка тела HTTP запроса в виде среза байт и возвращение объекта *bytes.Buffer.
RqBytes(rq *http.Request) (ret *bytes.Buffer, err error)
// RqData Выполнение загрузки данных из тела запроса в переменную variable с использованием декодирования
// данных, выбор кодера осуществляется на основе заголовка запроса Content-Type.
// Поддерживаются два метода сериализации данных: JSON, XML.
RqData(rq *http.Request, variable any) (err error)
// RqLoad Выполнение загрузки и декодирования данных, в случае возникновения ошибки формируется и отправляется HTTP
// ответ с кодом 400, содержащий возникшую ошибку.
// Данные загружаются из тела запроса в переменную variable с использованием декодирования данных, выбор кодера
// осуществляется на основе заголовка запроса Content-Type, поддерживаются два метода сериализации данных: JSON, XML.
// Ответ с ошибкой сериализуется тем же самым методом сериализации данных, что был в запросе.
RqLoad(wr http.ResponseWriter, rq *http.Request, variable any) (err error)
// RqLoadVerify Выполнение загрузки и декодирования данных, в случае возникновения ошибки формируется и
// отправляется HTTP ответ с кодом 400, содержащий возникшую ошибку.
// Загруженные данные проверяются библиотекой github.com/go-playground/validator.
// Данные загружаются из тела запроса в переменную variable с использованием декодирования данных, выбор кодера
// осуществляется на основе заголовка запроса Content-Type, поддерживаются два метода сериализации данных: JSON, XML.
// Ответ с ошибкой сериализуется тем же самым методом сериализации данных, что был в запросе.
RqLoadVerify(wr http.ResponseWriter, rq *http.Request, variable any) (err error)
// Status Ответ кодом статуса без передачи тела сообщения.
Status(wr http.ResponseWriter, status dic.IStatus) Interface
// Ok Ответ кодом 200 "Ok".
Ok(wr http.ResponseWriter) Interface
// NoContent Ответ кодом 204 "No Content" без передачи тела сообщения.
NoContent(wr http.ResponseWriter) Interface
Unauthorized(wr http.ResponseWriter) Interface
// Forbidden Ответ кодом 403 "Forbidden" без передачи тела сообщения.
Forbidden(wr http.ResponseWriter) Interface
// NotFound Ответ кодом 404 "Not Found" без передачи тела сообщения.
NotFound(wr http.ResponseWriter) Interface
// BadRequest Ответ на запрос с передачей ошибки запроса и структуры описывающей найденную ошибку.
BadRequest(wr http.ResponseWriter, data RestErrorInterface) Interface
// BadRequestBytes Ответ на запрос с передачей данных в исходном виде.
BadRequestBytes(wr http.ResponseWriter, data []byte) Interface
// InternalServerError Ответ на запрос с кодом ошибки 500 и структурой описывающей ошибку.
InternalServerError(wr http.ResponseWriter, err error) Interface
// Header Установка заголовка передаваемых данных.
Header(wr http.ResponseWriter, header dic.IHeader, mime dic.IMime) Interface
// HeaderString Установка заголовка передаваемых данных объектом строка.
HeaderString(wr http.ResponseWriter, header dic.IHeader, mimeString string) Interface
// ContentType Установка типа контента передаваемых данных.
ContentType(wr http.ResponseWriter, mime dic.IMime) Interface
// ContentTypeString Установка типа контента передаваемых данных объектом строка.
ContentTypeString(wr http.ResponseWriter, mimeString string) Interface
// ContentLength Установка заголовка длинны передаваемого контента.
ContentLength(wr http.ResponseWriter, contentLength uint64) Interface
// LastModified Установка заголовка с датой и временем изменения контента.
LastModified(wr http.ResponseWriter, lastModified time.Time) Interface
// ResponseBytes Ответ с проверкой передачи данных.
ResponseBytes(wr http.ResponseWriter, status dic.IStatus, data []byte) Interface
// Response Ответ с проверкой передачи данных.
Response(wr http.ResponseWriter, status dic.IStatus, buf *bytes.Buffer) Interface
// Json Ответ на запрос с сериализацией результата в JSON формат.
Json(wr http.ResponseWriter, status dic.IStatus, obj any) Interface
}
Interface Интерфейс пакета.
type RestError ¶
type RestError struct {
Error RestErrorBody `json:"error" xml:"error"`
// contains filtered or unexported fields
}
RestError Структура стандартного REST ответа с ошибкой с кодами 4xx и 5xx.
func (*RestError) Add ¶
func (reo *RestError) Add(field string, value string, msg string) RestErrorInterface
Add Добавление в массив объектов описания поля и ошибки в нём.
func (*RestError) AddWithKey ¶
func (reo *RestError) AddWithKey(field string, value string, msg string, key string) RestErrorInterface
AddWithKey Добавление в массив объектов описания поля и ошибки в нём.
func (*RestError) CodeSet ¶
func (reo *RestError) CodeSet(code int) RestErrorInterface
CodeSet Уникальный код ошибки из справочника ошибок.
func (*RestError) Field ¶
func (reo *RestError) Field() []RestErrorField
Field Массив объектов с описанием имён полей и ошибок в них.
func (*RestError) I18nKeyGet ¶
I18nKeyGet Ключ локализации ошибки.
func (*RestError) I18nKeySet ¶
func (reo *RestError) I18nKeySet(key string) RestErrorInterface
I18nKeySet Ключ локализации ошибки.
func (*RestError) Json ¶
func (reo *RestError) Json(wr http.ResponseWriter)
Json Сериализация в JSON и отправка данных в интерфейс http.ResponseWriter.
func (*RestError) MessageGet ¶
MessageGet Техническое описание ошибки в локализации сервера.
func (*RestError) MessageSet ¶
func (reo *RestError) MessageSet(msg string) RestErrorInterface
MessageSet Техническое описание ошибки в локализации сервера.
type RestErrorBody ¶
type RestErrorBody struct {
Code int `json:"code" xml:"code"` // Уникальный код ошибки из справочника ошибок.
Message string `json:"message" xml:"message"` // Техническое описание ошибки в локализации сервера.
I18nKey string `json:"i18nKey" xml:"i18nKey,omitempty"` // Ключ локализации ошибки.
Errors []RestErrorField `json:"errors" xml:"errors"` // Массив объектов с описанием имён полей и ошибок в них.
}
RestErrorBody Общее описание ошибки.
type RestErrorField ¶
type RestErrorField struct {
Field string `json:"field" xml:"field"` // Название поля.
FieldValue string `json:"fieldValue" xml:"fieldValue"` // Полученное значение поля field.
Message string `json:"message" xml:"message"` // Техническое описание ошибки.
I18nKey string `json:"i18nKey" xml:"i18NKey,omitempty"` // Ключ локализации ошибки.
}
RestErrorField Описание ошибок в полях структуры данных.
type RestErrorInterface ¶
type RestErrorInterface interface {
// CodeSet Уникальный код ошибки из справочника ошибок.
CodeSet(code int) RestErrorInterface
// CodeGet Уникальный код ошибки из справочника ошибок.
CodeGet() int
// MessageSet Назначение значения полю message.
MessageSet(msg string) RestErrorInterface
// MessageGet Возвращение значения поля message.
MessageGet() string
// I18nKeySet Ключ локализации ошибки.
I18nKeySet(key string) RestErrorInterface
// I18nKeyGet Ключ локализации ошибки.
I18nKeyGet() string
// Field Массив объектов с описанием имён полей и ошибок в них.
Field() []RestErrorField
// Add Добавление в массив объектов описания поля и ошибки в нём.
Add(field string, value string, msg string) RestErrorInterface
// AddWithKey Добавление в массив объектов описания поля и ошибки в нём.
AddWithKey(field string, value string, msg string, key string) RestErrorInterface
// JsonBytes Сериализация в JSON.
JsonBytes() (ret *bytes.Buffer, err error)
// Json Сериализация в JSON и отправка данных в интерфейс http.ResponseWriter.
Json(wr http.ResponseWriter)
// AsError Сводит объект в ошибку и возвращает интерфейс error.
AsError() (err error)
}
RestErrorInterface Интерфейс стандартного REST ответа ошибки с кодами 4xx и 5xx.