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 // RqIds Загрузка числовых идентификаторов указанных в path-param под ключём {key} и перечисленных через запятую. // В случае возникновения ошибки формируется и отправляется HTTP ответ с кодом 400, содержащий возникшую ошибку. RqIds(wr http.ResponseWriter, rq *http.Request, key string) (ret []uint64, err error) // RqId Загрузка значения указанного в path-param под ключём {key} и конвертация его в число. // В случае возникновения ошибки формируется и отправляется HTTP ответ с кодом 400, содержащий возникшую ошибку. RqId(wr http.ResponseWriter, rq *http.Request, key string) (ret uint64, err error) // 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 // RetryAfter Установка заголовка 'Retry-After' с числом секунд. RetryAfter(wr http.ResponseWriter, duration time.Duration) Interface // ResponseBytes Ответ с проверкой передачи данных. ResponseBytes(wr http.ResponseWriter, status dic.IStatus, data []byte) Interface // ResponseString Ответ с проверкой передачи данных. ResponseString(wr http.ResponseWriter, status dic.IStatus, data string) 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.