Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Errors ¶ added in v1.3.0
type Errors struct { // Unknown Неизвестная ошибка. Unknown IError }
Errors Предопределённые ошибки.
func (*Errors) NewError ¶ added in v1.3.0
NewError Создание объекта под интерфейс IError, функция предназначена для формирования настраиваемых справочников.
func (*Errors) ParseError ¶ added in v1.3.0
ParseError Анализ ошибки завёрнутой в стандартный интерфейс ошибки и извлечение IError. Если ошибка IError не найдена, создание новой ошибки с интерфейсом IError на базе ошибки error.
type Headers ¶
type Headers struct { // AIm Заголовок "A-IM", RFC3229. Допустимые манипуляции с экземпляром запроса. Пример: A-IM: feed. AIm IHeader // Accept Заголовок "Accept", HTTP/1.0. Список допустимых форматов ресурса. Accept IHeader // AcceptCh Заголовок "Accept-CH", HTTP/1.1. Может быть установлен сервером, чтобы указать, какие заголовки клиентских подсказок клиент должен включать в последующие запросы. AcceptCh IHeader // AcceptCharset Заголовок "Accept-Charset", HTTP/1.0. Перечень поддерживаемых кодировок для предоставления пользователю. AcceptCharset IHeader // AcceptEncoding Заголовок "Accept-Encoding", HTTP/1.0. Перечень поддерживаемых способов кодирования содержимого сущности при передаче. AcceptEncoding IHeader // AcceptLanguage Заголовок "Accept-Language", HTTP/1.0. Список поддерживаемых естественных языков. AcceptLanguage IHeader // AcceptPatch Заголовок "Accept-Patch", HTTP/1.1. Указывает MIME тип контента, который сервер может принять в запросе методом PATH. Пример: Accept-Patch: application/example, text/example;charset=utf-8. AcceptPatch IHeader // AcceptPost Заголовок "Accept-Post", HTTP/1.1. Указывает MIME тип контента, который сервер может принять в запросе методом POST. Пример: Accept-Post: image/webp. AcceptPost IHeader // AcceptRanges Заголовок "Accept-Ranges", HTTP/1.1. Перечень единиц измерения диапазонов. AcceptRanges IHeader // AccessControlAllowCredentials Заголовок "Access-Control-Allow-Credentials", HTTP/1.1. Разрешает браузеру предоставлять доступ к ответу сервера JavaScript скриптам. Пример: Access-Control-Allow-Credentials: true. AccessControlAllowCredentials IHeader // AccessControlAllowHeaders Заголовок "Access-Control-Allow-Headers", HTTP/1.1. Указывает заголовки, которые можно использовать в запросах. Пример: Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests. AccessControlAllowHeaders IHeader // AccessControlAllowMethods Заголовок "Access-Control-Allow-Methods", HTTP/1.1. Указывает методы запросов, которые можно использовать в запросах к серверу. Пример: Access-Control-Allow-Methods: POST, GET, OPTIONS. AccessControlAllowMethods IHeader // AccessControlAllowOrigin Заголовок "Access-Control-Allow-Origin", HTTP/1.1. Указывает источники, которые могут выполнять запросы к серверу. Пример: Access-Control-Allow-Origin: https://developer.mozilla.org. AccessControlAllowOrigin IHeader // AccessControlExposeHeaders Заголовок "Access-Control-Expose-Headers", HTTP/1.1. Указывает браузеру, какие заголовки могут быть доступны JavaScript скриптам. Пример: Access-Control-Expose-Headers: Content-Encoding, Kuma-Revision. AccessControlExposeHeaders IHeader // AccessControlMaxAge Заголовок "Access-Control-Max-Age", HTTP/1.1. Указывает время (в секундах), в течении которого браузер может кешировать ответ сервера. Пример: Access-Control-Max-Age: 600. AccessControlMaxAge IHeader // AccessControlRequestHeaders Заголовок "Access-Control-Request-Headers", HTTP/1.1. Заголовок используется браузерами чтобы выяснить какие заголовки принимает сервер от JavaScript скриптов. Пример: Access-Control-Request-Headers: X-PINGOTHER, Content-Type. AccessControlRequestHeaders IHeader // AccessControlRequestMethod Заголовок "Access-Control-Request-Method", HTTP/1.1. Заголовок используется браузерами чтобы выяснить какие HTTP методы принимает сервер от JavaScript скриптов. Пример: Access-Control-Request-Method: POST. AccessControlRequestMethod IHeader // Age Заголовок "Age", HTTP/1.1. Количество секунд с момента модификации ресурса. Age IHeader // Allow Заголовок "Allow", HTTP/1.0. Список поддерживаемых методов. Allow IHeader // AltSvc Заголовок "Alt-Svc", HTTP/1.1. Заголовок позволяет серверу указать другое авторитетное местонахождение запрашиваемого ресурса. Пример: Alt-Svc: h3-25=":443"; ma=3600, h2=":443"; ma=3600. AltSvc IHeader // AltUsed Заголовок "Alt-Used", HTTP/1.1. Используется для идентификации альтернативного местонахождения ресурса, по аналогии с заголовком Host. Пример: Alt-Used: alternate.example.net:443. AltUsed IHeader // Alternates Заголовок "Alternates", HTTP/1.1. Указание на альтернативные способы представления ресурса. Alternates IHeader // Authorization Заголовок "Authorization", HTTP-Auth. Данные для авторизации. Authorization IHeader // AutoSubmitted Заголовок "Auto-Submitted", Mail MIME. Заголовок автоматической обработки писем или автоматически созданных писем. AutoSubmitted IHeader // CacheControl Заголовок "Cache-Control", HTTP/1.1. Основные директивы для управления кэшированием. CacheControl IHeader // ClearSiteData Заголовок "Clear-Site-Data", HTTP/1.1. Указывает браузеру какие данные необходимо очистить после получения данных. Пример: Clear-Site-Data: "cache", "cookies". ClearSiteData IHeader // Connection Заголовок "Connection", HTTP/1.1. Сведения о проведении соединения. Connection IHeader // ContentDisposition Заголовок "Content-Disposition", CDH. Способ распределения сущностей в сообщении при передаче нескольких фрагментов. ContentDisposition IHeader // ContentEncoding Заголовок "Content-Encoding", HTTP/1.0. Способ кодирования содержимого сущности при передаче. ContentEncoding IHeader // ContentLanguage Заголовок "Content-Language", HTTP/1.0. Один или несколько естественных языков содержимого сущности. ContentLanguage IHeader // ContentLength Заголовок "Content-Length", HTTP/1.0. Размер содержимого сущности в октетах (которые в русском языке обычно называют байтами). ContentLength IHeader // ContentLocation Заголовок "Content-Location", HTTP/1.1. Альтернативное расположение содержимого сущности. ContentLocation IHeader // ContentMd5 Заголовок "Content-MD5", MD5H. Base64 MD5-хэша сущности для проверки целостности. ContentMd5 IHeader // ContentRange Заголовок "Content-Range", HTTP/1.1. Байтовые диапазоны передаваемой сущности если возвращается фрагмент. ContentRange IHeader // ContentSecurityPolicy Заголовок "Content-Security-Policy", HTTP/1.1. Указывает браузеру какие ресурсы разрешено запрашивать из JavaScript скриптов. Пример: Content-Security-Policy: default-src 'self' http://example.com; connect-src 'none'. ContentSecurityPolicy IHeader // ContentSecurityPolicyReportOnly Заголовок "Content-Security-Policy-Report-Only", HTTP/1.1. Отслеживание нарушений политик запросов из скриптов без блокировки. Вместо этого браузер отправляет на сервер отчёты о нарушениях. Пример: Content-Security-Policy: default-src https:; report-to /csp-violation-report-endpoint/. ContentSecurityPolicyReportOnly IHeader // ContentType Заголовок "Content-Type", HTTP/1.0. Формат и способ представления сущности. ContentType IHeader // ContentVersion Заголовок "Content-Version", HTTP/1.1. Информация о текущей версии сущности. ContentVersion IHeader // Cookie Заголовок "Cookie", HTTP/1.0. Передача на сервер сохранённых печенек. Cookie IHeader // CrossOriginEmbedderPolicy Заголовок "Cross-Origin-Embedder-Policy", HTTP/1.1. Настраивает встраиваемые ресурсы в документ. Пример: Cross-Origin-Embedder-Policy: require-corp. CrossOriginEmbedderPolicy IHeader // CrossOriginOpenerPolicy Заголовок "Cross-Origin-Opener-Policy", HTTP/1.1. Настройки изоляции документа. Смотреть документацию по атакам XS-Leaks. CrossOriginOpenerPolicy IHeader // CrossOriginResourcePolicy Заголовок "Cross-Origin-Resource-Policy", HTTP/1.1. Настройки блокировки запросов CORS. CrossOriginResourcePolicy IHeader // Date Заголовок "Date", HTTP/1.0. Дата генерации отклика. Date IHeader // DeliveredTo Заголовок "Delivered-To", Mail MIME. Заголовок добавляемый почтовым сервером при обработке входящего письма. DeliveredTo IHeader // DerivedFrom Заголовок "Derived-From", HTTP/1.1. Информация о текущей версии сущности. DerivedFrom IHeader // DeviceMemory Заголовок "Device-Memory", HTTP/1.1. Указывает приблизительный объём памяти устройства в гигабайтах. Используется только в TLS и после регистрации Accept-CH или Vary. DeviceMemory IHeader // ETag Заголовок "ETag", HTTP/1.1. Тег (уникальный идентификатор) версии сущности, используемый при кэшировании. ETag IHeader // Expect Заголовок "Expect", HTTP/1.1v2. Указывает серверу что клиент ожидает от него дополнительного действия. Expect IHeader // Expires Заголовок "Expires", HTTP/1.0. Дата предполагаемого истечения срока актуальности сущности. Expires IHeader // Forwarded Заголовок "Forwarded", RFC7239. Раскрывает исходную информацию о клиенте, при передаче запроса через прокси сервер. Forwarded IHeader // From Заголовок "From", HTTP/1.1. Адрес электронной почты ответственного лица со стороны клиента. From IHeader // Host Заголовок "Host", HTTP/1.1. Доменное имя и порт хоста запрашиваемого ресурса. Необходимо для поддержки виртуального хостинга на серверах. Host IHeader // Http2Settings Заголовок "HTTP2-Settings", RFC7540, RFC9113. Запрос обновления протокола с HTTP/1.1 на HTTP/2. Пример: HTTP2-Settings: token64. Http2Settings IHeader // IfMatch Заголовок "If-Match", HTTP/1.1. Список тегов версий сущности. Выполнять метод, если они существуют. IfMatch IHeader // IfModifiedSince Заголовок "If-Modified-Since", HTTP/1.0. Дата. Выполнять метод если сущность изменилась с указанного момента. IfModifiedSince IHeader // IfNoneMatch Заголовок "If-None-Match", HTTP/1.1. Список тегов версий сущности. Выполнять метод если ни одного из них не существует. IfNoneMatch IHeader // IfRange Заголовок "If-Range", HTTP/1.1. Список тегов версий сущности или дата для определённого фрагмента сущности. IfRange IHeader // IfUnmodifiedSince Заголовок "If-Unmodified-Since", HTTP/1.1. Дата. Выполнять метод если сущность не изменилась с указанной даты. IfUnmodifiedSince IHeader // Importance Заголовок "Importance", RFC4021. Mail MIME. Importance IHeader // KeepAlive Заголовок "Keep-Alive", HTTP/1.1. Информирование о возможности установки длительного соединения, максимального количества запросов по нему и таймаута. KeepAlive IHeader // LastModified Заголовок "Last-Modified", HTTP/1.0. Дата последней модификации сущности. LastModified IHeader // Link Заголовок "Link", HTTP/1.0. Указывает на логически связанный с сущностью ресурс аналогично тегу <LINK> в HTML. Link IHeader // Location Заголовок "Location", HTTP/1.0. URI по которому клиенту следует перейти или URI созданного ресурса. Location IHeader // MaxForwards Заголовок "Max-Forwards", HTTP/1.1. Максимально допустимое количество переходов через прокси. MaxForwards IHeader // MessageId Заголовок "Message-Id", Mail MIME. Уникальный идентификатор письма. MessageId IHeader // MimeVersion Заголовок "MIME-Version", MIME. Версия протокола MIME, по которому было сформировано сообщение. MimeVersion IHeader // MsEchoRequest Заголовок "Ms-Echo-Request", Заголовок перечисления необходимых полей, которыми необходимо дополнить и повторить запрос. MsEchoRequest IHeader // Origin Заголовок "Origin", HTTP/1.0. Указывает источник, схема, хост, порт, вызвавшего запрос. Пример: Origin: http://developer.mozilla.org:80. Origin IHeader // PermissionsPolicy Заголовок "Permissions-Policy", HTTP/1.1. Указывает браузеры разрешение для ресурса на использование в iframe. PermissionsPolicy IHeader // Pragma Заголовок "Pragma", HTTP/1.0. Особенные опции выполнения операции. Pragma IHeader // Precedence Заголовок "Precedence", Mail MIME. Заголовок почтовых рассылок. Документация на mail.ru или mailchimp. Precedence IHeader // Prefer Заголовок "Prefer", RFC7240. Запрос от клиента к серверу о выполнении определённых действий над передаваемыми данными запроса. Пример: Prefer: return=representation. Prefer IHeader // Priority Заголовок "Priority", Mail MIME. Приоритет письма. Priority IHeader // ProxyAuthenticate Заголовок "Proxy-Authenticate", HTTP-Auth. Параметры аутентификации на прокси-сервере. ProxyAuthenticate IHeader // ProxyAuthorization Заголовок "Proxy-Authorization", HTTP-Auth. Информация для авторизации на прокси-сервере. ProxyAuthorization IHeader // Public Заголовок "Public", HTTP/1.1. Список доступных методов аналогично Allow, но для всего сервера. Public IHeader // Range Заголовок "Range", HTTP/1.1. Байтовые диапазоны для запроса фрагментов ресурса. Подробности: Частичные GET. Range IHeader // Received Заголовок "Received", Mail MIME. Заголовок добавляемый почтовым сервером, указывает испочник получения письма. Received IHeader // Referer Заголовок "Referer", HTTP/1.0. URI ресурса, после которого клиент сделал текущий запрос. Referer IHeader // RetryAfter Заголовок "Retry-After", HTTP/1.0. Дата или время в секундах после которого можно повторить запрос. RetryAfter IHeader // ReturnPath Заголовок "Return-Path", Mail MIME. Адрес, на который необходимо вернуть письмо в случае ошибок доставки. ReturnPath IHeader // Server Заголовок "Server", HTTP/1.0. Список названий и версий веб-сервера и его компонентов с комментариями. Для прокси-серверов поле Via. Server IHeader // SetCookie Заголовок "Set-Cookie", HTTP/1.0. Заголовок установки печенек. SetCookie IHeader // SourceMap Заголовок "SourceMap", HTTP/1.1. Указывает браузеру местонахождение карты исходных кодов. Пример: SourceMap: /path/to/file.js.map. SourceMap IHeader // Status Заголовок "Status", RFC9110. Заголовок CGI скриптов, указывающий статус HTTP ответа. Пример: Status: 200 OK. Status IHeader // StrictTransportSecurity Заголовок "Strict-Transport-Security", HTTP/1.1. Информирует браузер о том что доступ к ресурсу должен осуществляться только через HTTPS. Пример: Strict-Transport-Security: max-age=31536000; includeSubDomains. StrictTransportSecurity IHeader // Te Заголовок "TE", HTTP/1.1v2. Список расширенных способов кодирования при передаче. Пример: TE: trailers, deflate. Te IHeader // Title Заголовок "Title", HTTP/1.0. Заголовок сущности. Title IHeader // Trailer Заголовок "Trailer", HTTP/1.1v2. Список полей, имеющих отношение к кодированию сообщения при передаче. Trailer IHeader // TransferEncoding Заголовок "Transfer-Encoding", HTTP/1.1. Список способов кодирования, которые были применены к сообщению для передачи. Пример: chunked. TransferEncoding IHeader // Upgrade Заголовок "Upgrade", HTTP/1.1. Список предлагаемых клиентом протоколов. Сервер указывает один протокол. Upgrade IHeader // UpgradeInsecureRequests Заголовок "Upgrade-Insecure-Requests", HTTP/1.1. Заголовок готовности клиента перейти на TLS соединение. Пример: Upgrade-Insecure-Requests: 1. UpgradeInsecureRequests IHeader // UserAgent Заголовок "User-Agent", HTTP/1.0. Список названий и версий клиента и его компонентов с комментариями. UserAgent IHeader // Vary Заголовок "Vary", HTTP/1.1. Список описывающих ресурс полей из запроса, которые были приняты во внимание. Vary IHeader // Via Заголовок "Via", HTTP/1.1. Список версий протокола, названий и версий прокси-серверов, через которых прошло сообщение. Via IHeader // Warning Заголовок "Warning", HTTP/1.1. Код, агент, сообщение и дата, если возникла критическая ситуация. Пример: Warning: 199 Miscellaneous warning. Warning IHeader // WwwAuthenticate Заголовок "WWW-Authenticate", HTTP-Auth. Параметры аутентификации для выполнения метода к указанному ресурсу. WwwAuthenticate IHeader // XAutoResponseSuppress Заголовок "X-Auto-Response-Suppress", Mail MIME. Заголовок подавления автоматического ответа на письмо. XAutoResponseSuppress IHeader // XCaptchaType Заголовок "X-Captcha-Type", Тип передаваемой капчи. XCaptchaType IHeader // XCarrier Заголовок "X-Carrier", Расширенный тип мобильного трафика, значения: ["tele2", "mts", ...]. XCarrier IHeader // XConnectionType Заголовок "X-Connection-Type", Тип подключения, значения: ["3g", "wifi", "cable", "broadband", ...]. XConnectionType IHeader // XContentDuration Заголовок "X-Content-Duration", Продолжительность аудио или видео в секундах. XContentDuration IHeader // XCorrelationId Заголовок "X-Correlation-ID", Сопоставление или идентификация запросов между клиентом и сервером. XCorrelationId IHeader // XDayOfWeek Заголовок "X-Day-Of-Week", День недели, значения: [0,1,2,3,4,5,6] 0=пнд, -1=не известен. XDayOfWeek IHeader // XDeviceManufacturer Заголовок "X-Device-Manufacturer", Производитель или марка устройства. XDeviceManufacturer IHeader // XDeviceModel Заголовок "X-Device-Model", Модель устройства. XDeviceModel IHeader // XFailedRecipients Заголовок "X-Failed-Recipients", Mail MIME. Список адресов получателей, которым не удалось доставить сообщение. XFailedRecipients IHeader // XForwardedFor Заголовок "X-Forwarded-For", Nginx. Полученное nginx значение заголовка X-Forwarded-For. Если заголовок не передавался, тогда равно IP адресу клиента. Пример: X-Forwarded-For $proxy_add_x_forwarded_for. XForwardedFor IHeader // XForwardedProto Заголовок "X-Forwarded-Proto", Nginx. Схема. Значения: ["http", "https"]. Пример: X-Forwarded-Proto $scheme. XForwardedProto IHeader // XFrameOptions Заголовок "X-Frame-Options", HTTP/1.1. Указывает браузеры разрешение для ресурса на использование в iframe. XFrameOptions IHeader // XGeoCity Заголовок "X-Geo-City", Город. XGeoCity IHeader // XGeoContinent Заголовок "X-Geo-Continent", Географический континент. XGeoContinent IHeader // XGeoCountry Заголовок "X-Geo-Country", Страна. XGeoCountry IHeader // XGeoRegion Заголовок "X-Geo-Region", Географический регион. XGeoRegion IHeader // XInternetServiceProvider Заголовок "X-Internet-Service-Provider", Расширенная сегментация типа подключения по ISP (интернет-провайдер). XInternetServiceProvider IHeader // XMsMailPriority Заголовок "X-MSMail-Priority", Mail MIME. Приоритет письма. XMsMailPriority IHeader // XPoweredBy Заголовок "X-Powered-By", Указывает технологию, фреймворк или иное П.О. используемое сервером. XPoweredBy IHeader // XPriority Заголовок "X-Priority", Mail MIME. Приоритет письма. XPriority IHeader // XProjectId Заголовок "X-Project-Id", Уникальный идентификатор проекта. XProjectId IHeader // XProxyType Заголовок "X-ProxyType", Тип прокси, значения: ["vpn", "tor", "dch", "pub", "web"]. XProxyType IHeader // XRealIP Заголовок "X-Real-IP", Nginx. IP адрес клиента. Пример: X-Real-IP $remote_addr. XRealIP IHeader // XRecaptchaSiteKey Заголовок "X-Recaptcha-Site-Key", Ключ домена от сервиса reCaptcha. XRecaptchaSiteKey IHeader // XRedefinitionDeny Заголовок "X-Redefinition-Deny", Запрет переопределения значений маркеров, значения: ["all", "query", "path", "entrypoint"]. XRedefinitionDeny IHeader // XRedirectBy Заголовок "X-Redirect-By", Указывает компонент отвечающий за перенаправление ресурса. XRedirectBy IHeader // XRegistrationInviteCode Заголовок "X-Registration-Invite-Code", Код приглашения на регистрацию. XRegistrationInviteCode IHeader // XRequestId Заголовок "X-Request-ID", Сопоставление или идентификация запросов между клиентом и сервером. XRequestId IHeader // XRequestedWith Заголовок "X-Requested-With", Заголовок используется для контроля CORS запросов. XRequestedWith IHeader // XScheme Заголовок "X-Scheme", Nginx. Схема. Значения: ["http", "https"]. Пример: X-Scheme $scheme. XScheme IHeader // XScreenSize Заголовок "X-Screen-Size", Разрешение экрана. XScreenSize IHeader // XTimeZone Заголовок "X-Time-Zone", Смещение часового пояса. Значения: [0, 3, -1, 12, ...]. XTimeZone IHeader // XUserAgent Заголовок "X-User-Agent", Аналог User-Agent. XUserAgent IHeader // XXssProtection Заголовок "X-XSS-Protection", Фильтр запросов от скриптов выполняемых между разными доменами (XSS). XXssProtection IHeader }
Headers Структура справочника заголовков.
func Header ¶
func Header() Headers
Header Справочник заголовков.
Example ¶
ExampleHeader Пример создания нового справочника заголовков с дополнительны пользовательскими заголовками.
// CustomHeader Структура нового справочника с дополнительными пользовательскими заголовками. type CustomHeader struct { Headers // Встраивание всех уже существующих заголовков. // MyCustomHeader1 Заголовок my-custom/header-1. MyCustomHeader1 IHeader // HeaderSecondCustom Заголовок header-second/custom. HeaderSecondCustom IHeader } // Реализация дополнительных пользовательских заголовков справочника. var custom = &CustomHeader{ Headers: Header(), // Подключение всех существующих заголовков. MyCustomHeader1: NewHeader("My-Custom/Header-1"), // Заголовок my-custom/header-1. HeaderSecondCustom: NewHeader("Header-Second/Custom"), // Заголовок header-second/custom. } // Использование нового справочника. var mch = custom.MyCustomHeader1 var result = custom.AcceptPatch.IsEqual(mch) fmt.Printf("Является ли заголовок %q эквивалентным заголовку %q? Ответ: %t\n", mch, custom.AcceptPatch, result) hcc := custom.HeaderSecondCustom result = hcc.IsEqual(mch) fmt.Printf("Является ли заголовок %q эквивалентным заголовку %q? Ответ: %t\n", hcc, mch, result)
Output: Является ли заголовок "My-Custom/Header-1" эквивалентным заголовку "Accept-Patch"? Ответ: false Является ли заголовок "Header-Second/Custom" эквивалентным заголовку "My-Custom/Header-1"? Ответ: false
type IError ¶ added in v1.3.0
type IError interface { // CodeU64 Код ошибки с типом uint64. CodeU64() *Set[uint64] // CodeU32 Код ошибки с типом uint32. CodeU32() *Set[uint32] // CodeU16 Код ошибки с типом uint16. CodeU16() *Set[uint16] // CodeU8 Код ошибки с типом uint8. CodeU8() *Set[uint8] // CodeU Код ошибки с типом uint. CodeU() *Set[uint] // CodeI64 Код ошибки с типом int64. CodeI64() *Set[int64] // CodeI32 Код ошибки с типом int32. CodeI32() *Set[int32] // CodeI16 Код ошибки с типом int16. CodeI16() *Set[int16] // CodeI8 Код ошибки с типом int8. CodeI8() *Set[int8] // CodeI Код ошибки с типом int. CodeI() *Set[int] // TNew Назначение нового шаблона и списка аргументов ошибки. TNew(t string, arg ...string) IError // TArg Получение списка аргументов ошибки. Шаблон ошибки можно получить из якоря. TArg() []string // Anchor Якорь ошибки, он же шаблон ошибки или ошибка целиком, если аргументов нет. Anchor() error // Error Реализация интерфейса errors.Error(). Error() string // String Представление ошибки в качестве строки, используется якорь и аргументы ошибки. String() string // Bytes Представление ошибки в качестве среза байт, используется якорь и аргументы ошибки. Bytes() []byte // Is Сравнение ошибок, вернётся истина если ошибки эквиваленты. Is(e error) (ret bool) // IsEqual Сравнение ошибок, вернётся истина если ошибки эквиваленты. IsEqual(e IError) bool // IsEqualCode Сравнение ошибок только по коду ошибки. IsEqualCode(e IError) (ret bool) // Bind Создание копии объекта IError, прикрепление к копии якоря и всех свойств, наполнение копии объекта ошибки // значениями аргументов и возврат объекта ошибки в качестве интерфейса стандартной ошибки. // Копии ошибок в таком виде, с разными значениями аргументов эквивалентны, если сравнивать функцией IsEqual(). Bind(arg ...any) (err error) }
IError Интерфейс статусов HTTP ответов.
func NewError ¶ added in v1.3.0
NewError Создание объекта под интерфейс IError, функция предназначена для формирования настраиваемых справочников.
func ParseError ¶ added in v1.3.0
ParseError Анализ ошибки завёрнутой в стандартный интерфейс ошибки и извлечение IError. Если ошибка IError не найдена, создание новой ошибки с интерфейсом IError на базе ошибки error.
type IFile ¶
type IFile interface { // MimeByFilename Определение MIME типа контента файла по имени файла. // Если MIME тип не найден, вернётся nil объект. MimeByFilename(filename string) IMime // MimeByExtension Определение MIME типа контента файла по расширению имени файла. // Расширение имени файла должно начинаться с точки, пример: ".txt". // Если MIME тип не найден, вернётся nil объект. MimeByExtension(extension string) (ret IMime) // MimeByContent Определение MIME типа контента по срезу байт. // Не стоит передавать весь файл, достаточно передать первые 512 байт или около того. MimeByContent(content []byte) (ret IMime) }
IFile Интерфейс справочника MIME типов файлов.
type IHeader ¶
type IHeader interface { // IsEqual Истина, если заголовки эквивалентны. IsEqual(h IHeader) bool // String Заголовок в виде строки. String() string }
IHeader Интерфейс элемента справочника заголовков.
type IMethod ¶
type IMethod interface { // IsEqual Истина, если HTTP методы эквивалентны, сравнивается только метод. IsEqual(m IMethod) bool // IsEqualFull Истина, если HTTP методы эквивалентны, сравнивается и метод и битовая маска. IsEqualFull(m IMethod) bool // String HTTP метод запроса. String() string }
IMethod Интерфейс HTTP методов запросов.
func NewMethod ¶
NewMethod Создание объекта под интерфейс IMethod, функция предназначена для формирования настраиваемых справочников.
func ParseMethod ¶
ParseMethod Разбор строки в объект HTTP метода запроса.
type IMime ¶
type IMime interface { // Charset Кодовая страница MIME типа. Charset() (ret string) // IsEqual Истина, если MIME типы эквивалентны, без учёта атрибутов. IsEqual(m IMime) bool // IsEqualFull Истина, если MIME типы эквивалентны, включая атрибуты. IsEqualFull(m IMime) bool // Main Основной тип MIME, без подтипа и без опций. Main() string // Sub Подтип MIME, без опций. Sub() string // Mime Тип MIME с подтипом, но без опций. Mime() string // Opt Опция миме типа с указанным ключём. Opt(key string) string // String Полностью весть MIME тип с подтипом и опциями. String() string }
IMime Интерфейс MIME типа.
type IStatus ¶
type IStatus interface { // IsEqual Истина, если статусы HTTP ответов эквивалентны. IsEqual(m IStatus) bool // IsEqualCode Истина, если коды статусо HTTP ответов эквивалентны. IsEqualCode(c int) bool // Code Числовой код статуса HTTP ответа. Code() int // String Полностью весть MIME тип с подтипом и опциями. String() string // Bytes Статус HTTP ответа в виде среза байт. Bytes() []byte }
IStatus Интерфейс статусов HTTP ответов.
func NewStatus ¶
NewStatus Создание объекта под интерфейс IStatus, функция предназначена для формирования настраиваемых справочников.
func ParseStatusCode ¶ added in v1.2.0
ParseStatusCode Разбор числового кода в объект статуса HTTP ответа.
func ParseStatusString ¶
ParseStatusString Разбор строки в объект статуса HTTP ответа.
type Methods ¶
type Methods struct { // Get HTTP метод GET. Get IMethod // Post HTTP метод POST. Post IMethod // Put HTTP метод PUT. Put IMethod // Delete HTTP метод DELETE. Delete IMethod // Connect HTTP метод CONNECT. Connect IMethod // Head HTTP метод HEAD. Head IMethod // Patch HTTP метод PATCH. Patch IMethod // Options HTTP метод OPTIONS. Options IMethod // Trace HTTP метод TRACE. Trace IMethod // Stub HTTP метод STUB. Stub IMethod }
Methods Структура справочника HTTP методов запросов.
type Mimes ¶
type Mimes struct { // ApplicationAtomXml Тип MIME "application/atom+xml;charset=UTF-8", Atom ApplicationAtomXml IMime // ApplicationEdiX12 Тип MIME "application/EDI-X12", EDI X12 (RFC 1767) ApplicationEdiX12 IMime // ApplicationEdifact Тип MIME "application/EDIFACT", EDI EDIFACT (RFC 1767) ApplicationEdifact IMime // ApplicationFontWoff Тип MIME "application/font-woff", web open font format ApplicationFontWoff IMime // ApplicationGzip Тип MIME "application/gzip", Gzip ApplicationGzip IMime // ApplicationJavascript Тип MIME "application/javascript;charset=UTF-8", JavaScript (RFC 4329) ApplicationJavascript IMime // ApplicationJson Тип MIME "application/json;charset=UTF-8", JavaScript Object Notation JSON (RFC 4627) ApplicationJson IMime // ApplicationMsExcel Тип MIME "application/vnd.ms-excel", XLS microsoft excel файлы ApplicationMsExcel IMime // ApplicationMsWord Тип MIME "application/msword", DOC microsoft word файлы ApplicationMsWord IMime // ApplicationMsgpack Тип MIME "application/msgpack", Msgpack ApplicationMsgpack IMime // ApplicationOctetStream Тип MIME "application/octet-stream", двоичный файл без указания формата (RFC 2046)[4] ApplicationOctetStream IMime // ApplicationOgg Тип MIME "application/ogg", Ogg (RFC 5334) ApplicationOgg IMime // ApplicationPdf Тип MIME "application/pdf", Portable Document Format, PDF (RFC 3778) ApplicationPdf IMime // ApplicationPostscript Тип MIME "application/postscript", PostScript (RFC 2046) ApplicationPostscript IMime // ApplicationProtobuf Тип MIME "application/protobuf", gRPC protobuf ApplicationProtobuf IMime // ApplicationSoapXml Тип MIME "application/soap+xml", SOAP (RFC 3902) ApplicationSoapXml IMime // ApplicationVndGoogleEarthKmlXml Тип MIME "application/vnd.google-earth.kml+xml", KML файлы (например, для Google Earth) ApplicationVndGoogleEarthKmlXml IMime // ApplicationVndMozillaXulXml Тип MIME "application/vnd.mozilla.xul+xml", mozilla XUL файлы ApplicationVndMozillaXulXml IMime // ApplicationWasm Тип MIME "application/wasm", WebAssembly (сокращённо wasm) — язык программирования низкого уровня, призванный внести программируемость туда, где нужны кроссплатформенность, эффективность и безопасность, в первую очередь на клиентскую сторону ВЕБ. ApplicationWasm IMime // ApplicationXBittorrent Тип MIME "application/x-bittorrent", BitTorrent ApplicationXBittorrent IMime // ApplicationXDvi Тип MIME "application/x-dvi", DVI ApplicationXDvi IMime // ApplicationXFontTtf Тип MIME "application/x-font-ttf", TrueType (не зарегистрированный MIME-тип, но наиболее часто используемый) ApplicationXFontTtf IMime // ApplicationXGenesisRom Тип MIME "application/x-genesis-rom", Файл gen ApplicationXGenesisRom IMime // ApplicationXLatex Тип MIME "application/x-latex", LaTeX файлы ApplicationXLatex IMime // ApplicationXPkcs12 Тип MIME "application/x-pkcs12", p12, pfx файлы ApplicationXPkcs12 IMime // ApplicationXPkcs7Certificates Тип MIME "application/x-pkcs7-certificates", p7b, spc файлы ApplicationXPkcs7Certificates IMime // ApplicationXPkcs7Certreqresp Тип MIME "application/x-pkcs7-certreqresp", p7r файлы ApplicationXPkcs7Certreqresp IMime // ApplicationXPkcs7Mime Тип MIME "application/x-pkcs7-mime", p7c, p7m файлы ApplicationXPkcs7Mime IMime // ApplicationXPkcs7Signature Тип MIME "application/x-pkcs7-signature", p7s файлы ApplicationXPkcs7Signature IMime // ApplicationXRarCompressed Тип MIME "application/x-rar-compressed", RAR ApplicationXRarCompressed IMime // ApplicationXStuffit Тип MIME "application/x-stuffit", StuffIt ApplicationXStuffit IMime // ApplicationXTar Тип MIME "application/x-tar", Tarball ApplicationXTar IMime // ApplicationXTex Тип MIME "application/x-tex", TeX ApplicationXTex IMime // ApplicationXWwwFormUrlencoded Тип MIME "application/x-www-form-urlencoded", form encoded data ApplicationXWwwFormUrlencoded IMime // ApplicationXYaml Тип MIME "application/x-yaml;charset=UTF-8", YAML ApplicationXYaml IMime // ApplicationXZipCompressed Тип MIME "application/x-zip-compressed", ZIP ApplicationXZipCompressed IMime // ApplicationXhtmlXml Тип MIME "application/xhtml+xml;charset=UTF-8", XHTML (RFC 3236) ApplicationXhtmlXml IMime // ApplicationXml Тип MIME "application/xml;charset=UTF-8", XML ApplicationXml IMime // ApplicationXmlDtd Тип MIME "application/xml-dtd;charset=UTF-8", DTD (RFC 3023) ApplicationXmlDtd IMime // ApplicationXopXml Тип MIME "application/xop+xml", XOP ApplicationXopXml IMime // ApplicationZip Тип MIME "application/zip", ZIP ApplicationZip IMime // AudioAac Тип MIME "audio/aac", AAC AudioAac IMime // AudioBasic Тип MIME "audio/basic", mulaw аудио, 8 кГц, 1 канал (RFC 2046) AudioBasic IMime // AudioL24 Тип MIME "audio/L24", 24bit Linear PCM аудио, 8-48 кГц, 1-N каналов (RFC 3190) AudioL24 IMime // AudioMp4 Тип MIME "audio/mp4", MP4 AudioMp4 IMime // AudioMpeg Тип MIME "audio/mpeg", MP3 или др. MPEG (RFC 3003) AudioMpeg IMime // AudioOgg Тип MIME "audio/ogg", Ogg Vorbis, Speex, Flac или др. аудио (RFC 5334) AudioOgg IMime // AudioVndRnRealaudio Тип MIME "audio/vnd.rn-realaudio", RealAudio AudioVndRnRealaudio IMime // AudioVndWave Тип MIME "audio/vnd.wave", WAV (RFC 2361) AudioVndWave IMime // AudioVorbis Тип MIME "audio/vorbis", Vorbis (RFC 5215) AudioVorbis IMime // AudioWebm Тип MIME "audio/webm", WebM AudioWebm IMime // AudioXMsWax Тип MIME "audio/x-ms-wax", windows media audio перенаправление AudioXMsWax IMime // AudioXMsWma Тип MIME "audio/x-ms-wma", windows media audio AudioXMsWma IMime // AutoReplied Тип MIME "auto-replied", RFC3464 AutoReplied IMime // FontTtf Тип MIME "font/ttf", Шрифт TrueType или ttf FontTtf IMime // ImageGif Тип MIME "image/gif", GIF (RFC 2045 и RFC 2046) ImageGif IMime // ImageIco Тип MIME "image/vnd.microsoft.icon", ICO ImageIco IMime // ImageJpeg Тип MIME "image/jpeg", JPEG (RFC 2045 и RFC 2046) ImageJpeg IMime // ImagePjpeg Тип MIME "image/pjpeg", JPEG ImagePjpeg IMime // ImagePng Тип MIME "image/png", portable network graphics (RFC 2083) ImagePng IMime // ImageSvgXml Тип MIME "image/svg+xml", SVG ImageSvgXml IMime // ImageTiff Тип MIME "image/tiff", TIFF (RFC 3302) ImageTiff IMime // ImageVndWapWbmp Тип MIME "image/vnd.wap.wbmp", WBMP ImageVndWapWbmp IMime // ImageWebp Тип MIME "image/webp", WebP ImageWebp IMime // ImageXIcon Тип MIME "image/x-icon", ICO, which is used by microsoft by stupidity ImageXIcon IMime // MessageDeliveryStatus Тип MIME "message/delivery-status", RFC3464 MessageDeliveryStatus IMime // MessageHttp Тип MIME "message/http;charset=UTF-8", Http (RFC 2616) MessageHttp IMime // MessageImdnXml Тип MIME "message/imdn+xml;charset=UTF-8", IMDN (RFC 5438) MessageImdnXml IMime // MessagePartial Тип MIME "message/partial", E-mail (RFC 2045 и RFC 2046) MessagePartial IMime // MessageRfc822 Тип MIME "message/rfc822", E-mail; EML-файлы, MIME-файлы, MHT-файлы, MHTML-файлы (RFC 2045 и RFC 2046) MessageRfc822 IMime // ModelExample Тип MIME "model/example", Model example (RFC 4735) ModelExample IMime // ModelIges Тип MIME "model/iges", IGS файлы, IGES файлы (RFC 2077) ModelIges IMime // ModelMesh Тип MIME "model/mesh", MSH файлы, MESH файлы (RFC 2077), SILO файлы ModelMesh IMime // ModelVrml Тип MIME "model/vrml", WRL файлы, VRML файлы (RFC 2077) ModelVrml IMime // ModelX3dBinary Тип MIME "model/x3d+binary", X3D ISO стандарт для 3D компьютерной графики, X3DB файлы ModelX3dBinary IMime // ModelX3dVrml Тип MIME "model/x3d+vrml", X3D ISO стандарт для 3D компьютерной графики, X3DV VRML файлы ModelX3dVrml IMime // ModelX3dXml Тип MIME "model/x3d+xml", X3D ISO стандарт для 3D компьютерной графики, X3D XML файлы ModelX3dXml IMime // MultipartAlternative Тип MIME "multipart/alternative", MIME E-mail (RFC 2045 и RFC 2046) MultipartAlternative IMime // MultipartEncrypted Тип MIME "multipart/encrypted", Encrypted (RFC 1847) MultipartEncrypted IMime // MultipartForm Тип MIME "multipart/form-data;charset=UTF-8", MIME Webform (RFC 2388) MultipartForm IMime // MultipartMixed Тип MIME "multipart/mixed", MIME E-mail (RFC 2045 и RFC 2046) MultipartMixed IMime // MultipartRelated Тип MIME "multipart/related", MIME E-mail (RFC 2387 и используемое MHTML (HTML mail)) MultipartRelated IMime // MultipartSigned Тип MIME "multipart/signed", Signed (RFC 1847) MultipartSigned IMime // TextCacheManifest Тип MIME "text/cache-manifest", файл манифеста(RFC 2046) TextCacheManifest IMime // TextCmd Тип MIME "text/cmd;charset=UTF-8", команды TextCmd IMime // TextCss Тип MIME "text/css;charset=UTF-8", cascading style sheets (RFC 2318) TextCss IMime // TextCsv Тип MIME "text/csv;charset=UTF-8", CSV (RFC 4180) TextCsv IMime // TextHtml Тип MIME "text/html;charset=UTF-8", HTML (RFC 2854) TextHtml IMime // TextJavascript Тип MIME "text/javascript;charset=UTF-8", (Obsolete): JavaScript (RFC 4329) TextJavascript IMime // TextJsx Тип MIME "text/jsx;charset=UTF-8", Javascript template for react TextJsx IMime // TextMarkdown Тип MIME "text/markdown;charset=UTF-8", файл языка разметки Markdown (RFC 7763) TextMarkdown IMime // TextPhp Тип MIME "text/php;charset=UTF-8", Скрипт на языке PHP TextPhp IMime // TextPlain Тип MIME "text/plain;charset=UTF-8", текстовые данные (RFC 2046 и RFC 3676) TextPlain IMime // TextRfc822Headers Тип MIME "text/rfc822-headers", RFC822 TextRfc822Headers IMime // TextXJqueryTmpl Тип MIME "text/x-jquery-tmpl", jQuery TextXJqueryTmpl IMime // TextXMakefile Тип MIME "text/x-makefile", Makefile TextXMakefile IMime // TextXPython Тип MIME "text/x-python;charset=UTF-8", Скрипт на языке Python TextXPython IMime // TextXml Тип MIME "text/xml;charset=UTF-8", extensible markup language (RFC 3023) TextXml IMime // Video3gpp Тип MIME "video/3gpp", .3gpp .3gp Video3gpp IMime // Video3gpp2 Тип MIME "video/3gpp2", .3gpp2 .3g2 Video3gpp2 IMime // VideoMp4 Тип MIME "video/mp4", MP4 (RFC 4337) VideoMp4 IMime // VideoMpeg Тип MIME "video/mpeg", MPEG-1 (RFC 2045 и RFC 2046) VideoMpeg IMime // VideoOgg Тип MIME "video/ogg", ogg theora или другое видео (RFC 5334) VideoOgg IMime // VideoQuicktime Тип MIME "video/quicktime", QuickTime VideoQuicktime IMime // VideoWebm Тип MIME "video/webm", WebM VideoWebm IMime // VideoXFlv Тип MIME "video/x-flv", FLV VideoXFlv IMime // VideoXMsWmv Тип MIME "video/x-ms-wmv", windows media video VideoXMsWmv IMime // VideoXMsvideo Тип MIME "video/x-msvideo", AVI VideoXMsvideo IMime }
Mimes Структура справочника MIME типов.
type Set ¶ added in v1.3.0
type Set[T modelSet] struct {
// contains filtered or unexported fields
}
Set Структура объекта доступа к коду.
type Statuses ¶
type Statuses struct { // Unknown Статус: "", код: 0. Статус неизвестен. Unknown IStatus // Continue Статус: "Continue", код: 100. RFC9110, 15.2.1. Частично переданные на сервер данные проверены и сервер удовлетворён начальными данными. Клиент может продолжать отправку заголовков и данных. Continue IStatus // SwitchingProtocols Статус: "Switching Protocols", код: 101. RFC9110, 15.2.2. Сервер предлагает сменить протокол, перейти на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов передаётся в заголовке Update Если клиент готов сменить протокол то новый запрос ожидается с указанием другого протокола. SwitchingProtocols IStatus // Processing Статус: "Processing", код: 102. RFC2518, 10.1. Запрос принят, на обработку запроса потребуется длительное время. Клиент, при получении такого ответа, должен сбросить таймер ожидания и ожидать следующего ответа в обычном режиме. Processing IStatus // EarlyHints Статус: "Early Hints", код: 103. RFC8297. Ранний возврат части заголовков, когда заголовки полного ответа не могут быть быстро сформированы. EarlyHints IStatus // NameNotResolved Статус: "Name Not Resolved", код: 105. Ошибка при разрешении доменного имени, в связи с не верным или отсутствующих ip адресом DNS сервера. NameNotResolved IStatus // OkToSendData Статус: "Ok To Send Data", код: 150. FTP. Согласие принимать данные от пользователя. OkToSendData IStatus // Ringing Статус: "Ringing", код: 180. Телефония. Уведомление о начале вызова на стороне вызываемого оборудования, соответствует длинному звуковому сигналу (КПВ) в телефонии. Ringing IStatus // Ok Статус: "OK", код: 200. RFC9110, 15.3.1. Успешный запрос. Результат запроса передаётся в заголовке или теле ответа. Ok IStatus // Created Статус: "Created", код: 201. RFC9110, 15.3.2. Успешный запрос, в результате которого был создан новый ресурс. В ответе возвращается заголовок Location с указанием созданного ресурса. Так же возвращаются характеристики нового ресурса, Content-Type. Created IStatus // Accepted Статус: "Accepted", код: 202. RFC9110, 15.3.3. Запрос принят на обработку, но обработка не завершена. Клиенту нет необходимости ожидать окончания обработки запроса, так как процесс может быть весьма длительным. Accepted IStatus // NonAuthoritativeInformation Статус: "Non-Authoritative Information", код: 203. RFC9110, 15.3.4. Успешный запрос, но передаваемая в ответе информация взята из кэша или не является гарантированно достоверной (могла устареть). NonAuthoritativeInformation IStatus // NoContent Статус: "No Content", код: 204. RFC9110, 15.3.5. Успешный запрос, в ответе передаются только заголовки без тела сообщения. Клиент не должен обновлять тело документа/ресурса, но может применить к нему полученные данные. NoContent IStatus // ResetContent Статус: "Reset Content", код: 205. RFC9110, 15.3.6. Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер клиенту не передаёт. Документ на стороне клиента обновлять не обязательно. ResetContent IStatus // PartialContent Статус: "Partial Content", код: 206. RFC9110, 15.3.7. Сервер удачно выполнил частичный GET запрос и возвращает только часть данных. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. PartialContent IStatus // MultiStatus Статус: "Multi-Status", код: 207. RFC4918, 11.1. Сервер возвращает результат выполнения сразу нескольких независимых операций. Результат ожидается в виде XML тела ответа с объектом multistatus. MultiStatus IStatus // AlreadyReported Статус: "Already Reported", код: 208. RFC5842, 7.1. Код возвращается в случае запроса к ресурсу состоящему из коллекций данных повторяющихся между собой и фактически является указателем на то что данные ресурса А можно взять из ресурса Б так как они идентичны, либо данные ответа текущего запроса с итерацией совпадают с ответом предыдущих запросов с итерацией (ссылка). Так же сервер возвращает заголовок вместе со ссылкой на данные на которые ссылается. AlreadyReported IStatus // ThisIsFine Статус: "This is fine", код: 218. Apache. Общая ошибка сервера, позволяющая передать тело ответа при включённой опции ProxyErrorOverride. ThisIsFine IStatus // ServerReady Статус: "Server Ready", код: 220. FTP. SMTP. Сервер готов обрабатывать запросы. Почтовый сервер готов к обслуживанию. ServerReady IStatus // ImUsed Статус: "IM Used", код: 226. RFC3229, 10.4.1. Заголовок A-IM от клиента был успешно принят и обработан. Сервер возвращает содержимое с учётом указанных параметров. ImUsed IStatus // LoginSuccessful Статус: "Login Successful", код: 230. FTP. Пользователь успешно подключился. LoginSuccessful IStatus // OkAcceptedAndProcessed Статус: "Ok Accepted And Processed", код: 250. SMTP. Команда принята и обработана. OkAcceptedAndProcessed IStatus // MultipleChoices Статус: "Multiple Choices", код: 300. RFC9110, 15.4.1. Существует несколько вариантов предоставления ресурса по типу MIME Сервер возвращает список альтернатив для выбора на стороне клиента. MultipleChoices IStatus // MovedPermanently Статус: "Moved Permanently", код: 301. RFC9110, 15.4.2. Запрошенный ресурс был окончательно перенесён на новый URI. Новый URI возвращается в заголовке Location. MovedPermanently IStatus // Found Статус: "Found", код: 302. RFC9110, 15.4.3. Запрошенный ресурс временно доступен по другому URI, возвращаемому в заголовке Location. Found IStatus // SeeOther Статус: "See Other", код: 303. RFC9110, 15.4.4. Ресурс по запрашиваемому URI необходимо запросить по адресу передаваемому в поле Location и только методом GET, несмотря на первоначальный запрос иным методом. SeeOther IStatus // NotModified Статус: "Not Modified", код: 304. RFC9110, 15.4.5. Сервер отвечает кодом 304, если ресурс был запрошен методом GET, с использованием заголовков If-Modified-Since или If-None-Match и документ не изменился с указанного момента. В этом ответе сервер не передаёт тело ресурса. NotModified IStatus // UseProxy Статус: "Use Proxy", код: 305. RFC9110, 15.4.6. Запрос к запрашиваемому ресурсу должен осуществляться через прокси URI, которого указывается в заголовки ответа в Location. UseProxy IStatus // Unused306 Статус: "Reserved Unused", код: 306. RFC9110, 15.4.7. Код зарезервирован и не используется. Unused306 IStatus // TemporaryRedirect Статус: "Temporary Redirect", код: 307. RFC9110, 15.4.8. Запрошенный ресурс, на короткое время, доступен по другому URI, указанному в заголовке ответа Location. TemporaryRedirect IStatus // PermanentRedirect Статус: "Permanent Redirect", код: 308. RFC9110, 15.4.9. Текущий запрос и все будущие запросы необходимо выполнить по другому URI ресурса. Новый адрес ресурса возвращается в заголовке Location, ответа сервера. PermanentRedirect IStatus // BadRequest Статус: "Bad Request", код: 400. RFC9110, 15.5.1. В запросе клиента присутствует синтаксическая ошибка или не указаны обязательные параметры запроса. BadRequest IStatus Unauthorized IStatus // PaymentRequired Статус: "Payment Required", код: 402. RFC9110, 15.5.3. Для доступа к ресурсу необходимо произвести оплату. PaymentRequired IStatus // Forbidden Статус: "Forbidden", код: 403. RFC9110, 15.5.4. Сервер отказывается выполнять запрос из-за ограничений в доступе клиента к указанному ресурсу. Forbidden IStatus // NotFound Статус: "Not Found", код: 404. RFC9110, 15.5.5. На сервере отсутствует запрашиваемый ресурс. NotFound IStatus // MethodNotAllowed Статус: "Method Not Allowed", код: 405. RFC9110, 15.5.6. Указанный клиентом HTTP метод запроса нельзя применять к запрашиваемому ресурсу. В ответе сервера будет заголовок Allow, с перечисленными через запятую методами запроса к ресурсу. MethodNotAllowed IStatus // NotAcceptable Статус: "Not Acceptable", код: 406. RFC9110, 15.5.7. Запрошенный ресурс не удовлетворяет переданным в заголовке характеристикам. Если запрос был не HEAD, тогда сервер в ответе вернёт список доступных характеристик, запрашиваемого ресурса. NotAcceptable IStatus // ProxyAuthenticationRequired Статус: "Proxy Authentication Required", код: 407. RFC9110, 15.5.8. Для доступа к ресурсу, необходима аутентификация клиента, на прокси сервере. Заголовок ответа сервера будет содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в новый запрос заголовок Authorization с требуемыми для аутентификации данными. ProxyAuthenticationRequired IStatus // RequestTimeout Статус: "Request Timeout", код: 408. RFC9110, 15.5.9. Время ожидания сервера окончания передачи данных клиентом истекло, запрос прерван. RequestTimeout IStatus // Conflict Статус: "Conflict", код: 409. RFC9110, 15.5.10. Запрос не может быть выполнен из-за конфликта обращения к ресурсу, например, ресурс заблокирован другим клиентом. Conflict IStatus // Gone Статус: "Gone", код: 410. RFC9110, 15.5.11. Ресурс, ранее находившийся по указанному адресу, удалён и не доступен, серверу не известно новый адрес ресурса. Gone IStatus // LengthRequired Статус: "Length Required", код: 411. RFC9110, 15.5.12. Для выполнения запроса к указанному ресурсу, клиент должен передать Content-Length, в заголовке запроса. LengthRequired IStatus // PreconditionFailed Статус: "Precondition Failed", код: 412. RFC9110, 15.5.13. Сервер не смог распознать ни один заголовок или условие запроса, обычно используется совместно с If-Match. PreconditionFailed IStatus // RequestEntityTooLarge Статус: "Request Entity Too Large", код: 413. RFC9110, 15.5.14. Сервер отказывается выполнять запрос, из-за слишком большого тела запроса. В случае если проблема временная, тогда возвращается заголовок Retry-After с указанием времени, по истечении которого можно повторить запрос. RequestEntityTooLarge IStatus // RequestUriTooLong Статус: "Request URI Too Long", код: 414. RFC9110, 15.5.15. Сервер не может выполнить запрос к ресурсу из-за слишком большого запрашиваемого URI. RequestUriTooLong IStatus // UnsupportedMediaType Статус: "Unsupported Media Type", код: 415. RFC9110, 15.5.16. Сервер отказывается работать с указанным типом данных передаваемого контента, с использованием текущего метода HTTP запроса. UnsupportedMediaType IStatus // RequestedRangeNotSatisfiable Статус: "Requested Range Not Satisfiable", код: 416. RFC9110, 15.5.17. Не корректный запрос с указанием Range. В поле Range, заголовка запроса, указан диапазон за пределами размерности ресурса, и отсутствует поле If-Range. Если клиент передал байтовый диапазон, тогда сервер вернёт диапазоны ресурса, в заголовке Content-Range ответа. RequestedRangeNotSatisfiable IStatus // ExpectationFailed Статус: "Expectation Failed", код: 417. RFC9110, 15.5.18. Сервер не может удовлетворить переданный от клиента заголовок запроса Expect (ждать). ExpectationFailed IStatus // ImATeapot Статус: "I'm a teapot", код: 418. RFC9110, 15.5.19. RFC2324. Я чайник. Первоапрельская шутка от IETF :). ImATeapot IStatus // AuthenticationTimeout Статус: "Authentication Timeout", код: 419. Используется в качестве альтернативы коду 401, для запросов которые прошли проверку подлинности, но лишены доступа к определённым ресурсам сервера. Обычно код отдается, если CSRF-токен устарел или оказался некорректным. AuthenticationTimeout IStatus // EnhanceYourCalm Статус: "Enhance Your Calm", код: 420. Twitter. Ответ аналогичен ответу 429-слишком много запросов, призван заставить клиента отправлять меньшее количество запросов к ресурсу. В ответе сервера возвращается заголовок Retry-After, с указанием времени, по истечении которого можно повторить запрос к серверу. EnhanceYourCalm IStatus // MisdirectedRequest Статус: "Misdirected Request", код: 421. RFC9110, 15.5.20. Запрос был перенаправлен на сервер, не способный дать ответ. MisdirectedRequest IStatus // UnprocessableEntity Статус: "Unprocessable Entity", код: 422. RFC9110, 15.5.21. Не обрабатываемая сущность. Запрос к серверу корректный и верный, но в теле запроса имеется логическая ошибка, из-за которой не возможно выполнить запрос к ресурсу. UnprocessableEntity IStatus // Locked Статус: "Locked", код: 423. RFC4918, 11.3. В результате запроса ресурс успешно заблокирован. Locked IStatus // FailedDependency Статус: "Failed Dependency", код: 424. RFC4918, 11.4. Успешность выполнения запроса зависит от не разрешимой зависимости, другого запроса, который ещё не выполнен. FailedDependency IStatus // TooEarly Статус: "Too Early", код: 425. RFC8470, 5.2. Запрос коллекции ресурсов в не корректном порядке или запрос к упорядоченному ресурсу не по порядку. TooEarly IStatus // UpgradeRequired Статус: "Upgrade Required", код: 426. RFC9110, 15.5.22. Клиенту необходимо обновить протокол запроса. В заголовке ответа сервера Upgrade и Connection возвращаются указания, которые должен выполнить клиент для успешности запроса. UpgradeRequired IStatus // Unassigned Статус: "Not assigned", код: 427. WebDesk, Получены корректные данные запроса, но значения обязательных полей не установлены. Unassigned IStatus // PreconditionRequired Статус: "Precondition Required", код: 428. RFC6585, 3. Сервер требует от клиента выполнить запрос с указанием заголовков Range и If-Match. PreconditionRequired IStatus // TooManyRequests Статус: "Too Many Requests", код: 429. RFC6585, 4. Слишком много запросов от клиента к ресурсу. В ответе сервера возвращается заголовок Retry-After с указанием времени, по истечении которого, можно повторить запрос к серверу. TooManyRequests IStatus // RequestHeaderFieldsTooLarge Статус: "Request Header Fields Too Large", код: 431. RFC6585, 5. От клиента получено слишком много заголовков или длинна заголовка превысила допустимые размеры. Запрос прерван. RequestHeaderFieldsTooLarge IStatus RequestedHostUnavailable IStatus // LoginTimeOut Статус: "Login Time-out", код: 440. Microsoft. Срок действия сеанса клиента истёк, и он должен снова войти в систему. LoginTimeOut IStatus // NoResponse Статус: "No Response", код: 444. Nginx. Сервер отказывается или не может вернуть результат запроса к ресурсу и незамедлительно закрыл соединение. NoResponse IStatus // RetryWith Статус: "Retry With", код: 449. Microsoft. В запросе к ресурсу не достаточно информации для его успешного выполнения. В заголовке ответа сервера передаётся Ms-Echo-Request с указанием необходимых полей. RetryWith IStatus // BlockedByParentalControls Статус: "Blocked by Parental Controls", код: 450. Microsoft. Запрос заблокирован системой 'родительский контроль'. BlockedByParentalControls IStatus UnavailableForLegalReasons IStatus // UnrecoverableError Статус: "Unrecoverable Error", код: 456. Обработка запроса вызывает не обрабатываемые сбои в базе данных или её таблицах. UnrecoverableError IStatus // RequestTerminated Статус: "Request Terminated", код: 487. Телефония. Инициатор вызова завершил попытку установить связь до соединения с вызываемым абонентом. RequestTerminated IStatus // RequestHeaderTooLarge Статус: "Request Header Too Large", код: 494. Nginx. Клиент отправил слишком большой запрос или слишком длинную строку заголовка. RequestHeaderTooLarge IStatus // SslCertificateError Статус: "SSL Certificate Error", код: 495. Nginx. Клиент предоставил недействительный SSL сертификат. SslCertificateError IStatus // SslCertificateRequired Статус: "SSL Certificate Required", код: 496. Nginx. Клиент не предоставил обязательный SSL сертификат. SslCertificateRequired IStatus // HttpRequestSentToHttpsPort Статус: "HTTP Request Sent to HTTPS Port", код: 497. Nginx. Клиент отправил HTTP-запрос на порт, прослушивающий HTTPS-запросы. HttpRequestSentToHttpsPort IStatus // InvalidToken Статус: "Invalid Token", код: 498. ArcGIS. Запрос выполнен с использованием токена с истекшим сроком действия или иным образом недействительным. InvalidToken IStatus // ClientClosedRequest Статус: "Client Closed Request", код: 499. Nginx. Клиент закрыл соединение не попытавшись получить от сервера ответ. ClientClosedRequest IStatus // InternalServerError Статус: "Internal Server Error", код: 500. RFC9110, 15.6.1. Любая не описанная ошибка на стороне сервера. InternalServerError IStatus // NotImplemented Статус: "Not Implemented", код: 501. RFC9110, 15.6.2. Сервер не имеет возможностей для удовлетворения доступа к ресурсу или реализация обработки запроса ещё не закончена. NotImplemented IStatus // BadGateway Статус: "Bad Gateway", код: 502. RFC9110, 15.6.3. Сервер, выступающий в роли шлюза или прокси, получил не корректный ответ от вышестоящего сервера. BadGateway IStatus ServiceUnavailable IStatus // GatewayTimeout Статус: "Gateway Timeout", код: 504. RFC9110, 15.6.5. Сервер, выступающий в роли шлюза или прокси, не дождался ответа от вышестоящего сервера. GatewayTimeout IStatus // HttpVersionNotSupported Статус: "HTTP Version Not Supported", код: 505. RFC9110, 15.6.6. Сервер отказывается поддерживать указанную в запросе версию HTTP протокола. HttpVersionNotSupported IStatus // VariantAlsoNegotiates Статус: "Variant Also Negotiates", код: 506. RFC2295, 8.1. Ошибка на стороне сервера связанная с циклической или рекурсивной задачей, которая не может завершиться. VariantAlsoNegotiates IStatus // InsufficientStorage Статус: "Insufficient Storage", код: 507. RFC4918, 11.5. Не достаточно места или ресурсов для выполнения запроса. Код может возвращаться как по причинам физической не хватки ресурсов, так и по причине текущих лимитов пользователя. InsufficientStorage IStatus // LoopDetected Статус: "Loop Detected", код: 508. RFC5842, 7.2. Бесконечный цикл. Запрос прерван, в результате вызванного на сервере бесконечного цикла, который не смог завершиться. LoopDetected IStatus // BandwidthLimitExceeded Статус: "Bandwidth Limit Exceeded", код: 509. Apache. Запрос прерван в связи с превышением, со стороны клиента, ограничений на скорость доступа к ресурсам. BandwidthLimitExceeded IStatus // NotExtended Статус: "Not Extended", код: 510. RFC2774, 7. На сервере отсутствует расширение, которое необходимо для успешного выполнения запроса к ресурсу. NotExtended IStatus // NetworkAuthenticationRequired Статус: "Network Authentication Required", код: 511. RFC6585, 6. Запрос был прерван сервером посредником, прокси или шлюзом, из-за необходимости авторизации клиента на сервере посреднике, до начала выполнения запросов. NetworkAuthenticationRequired IStatus // UnknownError Статус: "Unknown Error", код: 520. CloudFlare. Сервер CDN не смог обработать ошибку веб-сервера. UnknownError IStatus // WebServerIsDown Статус: "Web Server Is Down", код: 521. CloudFlare. Подключение сервера CDN отклоняются веб-сервером. WebServerIsDown IStatus // ConnectionTimedOut Статус: "Connection Timed Out", код: 522. CloudFlare. Серверу CDN не удалось подключиться к веб-серверу. ConnectionTimedOut IStatus // OriginIsUnreachable Статус: "Origin Is Unreachable", код: 523. CloudFlare. Веб-сервер недостижим для подключения с сервера CDN. OriginIsUnreachable IStatus // ATimeoutOccurred Статус: "A Timeout Occurred", код: 524. CloudFlare. Тайм-аут подключения между сервером CDN и веб-сервером истёк. ATimeoutOccurred IStatus // SslHandshakeFailed Статус: "SSL Handshake Failed", код: 525. CloudFlare. Ошибка рукопожатия SSL между сервером CDN и веб-сервером. SslHandshakeFailed IStatus // InvalidSslCertificate Статус: "Invalid SSL Certificate", код: 526. CloudFlare. Не удалось подтвердить сертификат шифрования веб-сервера. InvalidSslCertificate IStatus // RailgunError Статус: "Railgun Error", код: 527. CloudFlare. Соединение между CDN и веб-сервервером было прервано. RailgunError IStatus // NoSuchUserHere Статус: "No Such User Here", код: 550. SMTP. Ошибка: указанный почтовый ящик (пользователь) отсутствует. NoSuchUserHere IStatus // NetworkReadTimeoutError Статус: "Network Read Timeout Error", код: 598. Ответ возвращается сервером, который является прокси или шлюзом, перед вышестоящим сервером, и говорит о том, что сервер не смог получить ответ, на запрос, к вышестоящему серверу. NetworkReadTimeoutError IStatus // NetworkConnectTimeoutError Статус: "Network Connect Timeout Error", код: 599. Ответ возвращается сервером, который является прокси или шлюзом, перед вышестоящим сервером, и говорит о том, что сервер не смог установить связь или подключиться к вышестоящему серверу. NetworkConnectTimeoutError IStatus // Decline Статус: "Decline", код: 603. Телефония. Вызываемая сторона отклонила входящий вызов. Decline IStatus }
Statuses Структура справочника статусов HTTP ответов.
Source Files
¶
- error.go
- error_interface.go
- error_parse.go
- file.go
- file_ext_constants.go
- file_interface.go
- header.go
- header_constants.go
- header_interface.go
- header_parse.go
- method.go
- method_constants.go
- method_interface.go
- method_parse.go
- mime.go
- mime_constants.go
- mime_interface.go
- mime_parser.go
- set.go
- status.go
- status_constants.go
- status_interface.go
- status_parse.go