9292
9393КонецФункции
9494
95+ // Определяет к какому классу кодов ответа относится переданный в функции код.
96+ //
97+ // Параметры:
98+ // Код - Число - код ответа HTTP.
99+ //
100+ // Возвращаемое значение:
101+ // - Строка - возможные значения: "Информация", "Успех", "Перенаправление", "ОшибкаКлиента", "ОшибкаСервера".
102+ //
103+ Функция КлассКодаОтвета ( Знач Код ) Экспорт
104+
105+ Перем КодСуществует ;
106+ Перем КлассКодаОтвета ;
107+ Перем Результат ;
108+
109+ Перем ПервыйКласс ;
110+ Перем ПоследнийКласс ;
111+ Перем Знаменатель ;
112+
113+ КодСуществует = ( НайтиИдентификаторПоКоду( Код ) <> Неопределено );
114+
115+ Результат = Неопределено ;
116+ Если ( НЕ КодСуществует ) Тогда
117+ Возврат Результат;
118+ КонецЕсли ;
119+
120+ Знаменатель = 100 ;
121+ КлассКодаОтвета = Цел ( Код / Знаменатель );
122+
123+ ПервыйКласс = 1 ;
124+ ПоследнийКласс = 5 ;
125+ Если ( КлассКодаОтвета < ПервыйКласс И КлассКодаОтвета > ПоследнийКласс ) Тогда
126+ Возврат Результат;
127+ КонецЕсли ;
128+
129+ Возврат КлассыКодовОтвета()[ КлассКодаОтвета - 1 ];
130+
131+ КонецФункции
132+
133+ // Определяет относится ли переданный в функцию код к информационному классу кодов.
134+ //
135+ // Параметры:
136+ // Код - Число - код ответа HTTP.
137+ //
138+ // Возвращаемое значение:
139+ // - Булево - Истина, код относится к классу "Информация", иначе - Ложь.
140+ //
141+ Функция ЭтоИнформация ( Знач Код ) Экспорт
142+
143+ Возврат ( КлассКодаОтвета( Код ) = "Информация" );
144+
145+ КонецФункции
146+
147+ // Определяет относится ли переданный в функцию код к классу кодов "Успех".
148+ //
149+ // Параметры:
150+ // Код - Число - код ответа HTTP.
151+ //
152+ // Возвращаемое значение:
153+ // - Булево - Истина, код относится к классу "Успех", иначе - Ложь.
154+ //
155+ Функция ЭтоУспех ( Знач Код ) Экспорт
156+
157+ Возврат ( КлассКодаОтвета( Код ) = "Успех" );
158+
159+ КонецФункции
160+
161+ // Определяет относится ли переданный в функцию код к классу кодов "Перенаправление".
162+ //
163+ // Параметры:
164+ // Код - Число - код ответа HTTP.
165+ //
166+ // Возвращаемое значение:
167+ // - Булево - Истина, код относится к классу "Перенаправление", иначе - Ложь.
168+ //
169+ Функция ЭтоПеренаправление ( Знач Код ) Экспорт
170+
171+ Возврат ( КлассКодаОтвета( Код ) = "Перенаправление" );
172+
173+ КонецФункции
174+
175+ // Определяет относится ли переданный в функцию код к классу кодов "Ошибка клиента".
176+ //
177+ // Параметры:
178+ // Код - Число - код ответа HTTP.
179+ //
180+ // Возвращаемое значение:
181+ // - Булево - Истина, код относится к классу "Ошибка клиента", иначе - Ложь.
182+ //
183+ Функция ЭтоОшибкаКлиента ( Знач Код ) Экспорт
184+
185+ Возврат ( КлассКодаОтвета( Код ) = "ОшибкаКлиента" );
186+
187+ КонецФункции
188+
189+ // Определяет относится ли переданный в функцию код к классу кодов "Ошибка сервера".
190+ //
191+ // Параметры:
192+ // Код - Число - код ответа HTTP.
193+ //
194+ // Возвращаемое значение:
195+ // - Булево - Истина, код относится к классу "Ошибка сервера", иначе - Ложь.
196+ //
197+ Функция ЭтоОшибкаСервера ( Знач Код ) Экспорт
198+
199+ Возврат ( КлассКодаОтвета( Код ) = "ОшибкаСервера" );
200+
201+ КонецФункции
202+
95203#Область Informational_1xx
96204
97205Функция isContinue ( Знач Код ) Экспорт
488596
489597#Область СлужебныйПрограммныйИнтерфейс
490598
491- // Соответствие кодов ответа HTTP и их краткому имени, используемого для
492- // именнованого обращения к элементам структуры.
493- // 100, "CONTINUE", "Continue"
494- // 200, "OK", "OK"
599+ // Соответствие кодов ответа HTTP и их краткому имени, используемого для именованого обращения к элементам структуры.
600+ //
601+ // 100, "CONTINUE", "Continue"
602+ // 101, "SWITCHING_PROTOCOLS", "Switching Protocols"
603+ // 102, "PROCESSING", "Processing"
604+ // 103, "CHECKPOINT", "Checkpoint"
605+ //
606+ // 200, "OK", "OK"
607+ // 201, "CREATED", "Created"
608+ // 202, "ACCEPTED", "Accepted"
609+ // 203, "NON_AUTHORITATIVE_INFORMATION", "Non-Authoritative Information"
610+ // 204, "NO_CONTENT", "No Content"
611+ // 205, "RESET_CONTENT", "Reset Content"
612+ // 206, "PARTIAL_CONTENT", "Partial Content"
613+ // 207, "MULTI_STATUS", "Multi-Status"
614+ // 208, "ALREADY_REPORTED", "Already Reported"
615+ // 226, "IM_USED", "IM Used"
616+ //
617+ // 300, "MULTIPLE_CHOICES", "Multiple сhoices"
618+ // 301, "MOVED_PERMANENTLY", "Moved Permanently"
619+ // 302, "FOUND", "Found"
620+ // 303, "SEE_OTHER", "See Other"
621+ // 304, "NOT_MODIFIED", "Not Modified"
622+ // 305, "USE_PROXY", "Use Proxy"
623+ // 307, "TEMPORARY_REDIRECT", "Temporary Redirect"
624+ // 308, "PERMANENT_REDIRECT", "Permanent Redirect"
625+ //
626+ // 400, "BAD_REQUEST", "Bad Request"
627+ // 401, "UNAUTHORIZED", "Unauthorized"
628+ // 402, "PAYMENT_REQUIRED", "Payment Required"
629+ // 403, "FORBIDDEN", "Forbidden"
630+ // 404, "NOT_FOUND", "Not Found"
631+ // 405, "METHOD_NOT_ALLOWED", "Method Not Allowed"
632+ // 406, "NOT_ACCEPTABLE", "Not Acceptable"
633+ // 407, "PROXY_AUTHENTICATION_REQUIRED", "Proxy Authentication Required"
634+ // 408, "REQUEST_TIMEOUT", "Request Timeout"
635+ // 409, "CONFLICT", "Conflict"
636+ // 410, "GONE", "Gone"
637+ // 411, "LENGTH_REQUIRED", "Length Required"
638+ // 412, "PRECONDITION_FAILED", "Precondition Failed"
639+ // 413, "PAYLOAD_TOO_LARGE", "Payload Too Large"
640+ // 414, "URI_TOO_LONG", "URI Too Long"
641+ // 415, "UNSUPPORTED_MEDIA_TYPE", "Unsupported Media Type"
642+ // 416, "REQUESTED_RANGE_NOT_SATISFIABLE", "Requested range not satisfiable"
643+ // 417, "EXPECTATION_FAILED", "Expectation Failed"
644+ // 418, "I_AM_A_TEAPOT", "I'm a teapot"
645+ // 421, "DESTINATION_LOCKED", "Destination Locked"
646+ // 422, "UNPROCESSABLE_ENTITY", "Unprocessable Entity"
647+ // 423, "LOCKED", "Locked"
648+ // 424, "FAILED_DEPENDENCY", "Failed Dependency"
649+ // 426, "UPGRADE_REQUIRED", "Upgrade Required"
650+ // 428, "PRECONDITION_REQUIRED", "Precondition Required"
651+ // 429, "TOO_MANY_REQUESTS", "Too Many Requests"
652+ // 431, "REQUEST_HEADER_FIELDS_TOO_LARGE", "Request Header Fields Too Large"
653+ // 451, "UNAVAILABLE_FOR_LEGAL_REASONS", "Unavailable For Legal Reasons"
654+ //
655+ // 500, "INTERNAL_SERVER_ERROR", "Internal Server Error"
656+ // 501, "NOT_IMPLEMENTED", "Not Implemented"
657+ // 502, "BAD_GATEWAY", "Bad Gateway"
658+ // 503, "SERVICE_UNAVAILABLE", "Service Unavailable"
659+ // 504, "GATEWAY_TIMEOUT", "Gateway Timeout"
660+ // 505, "HTTP_VERSION_NOT_SUPPORTED", "HTTP Version not supported"
661+ // 506, "VARIANT_ALSO_NEGOTIATES", "Variant Also Negotiates"
662+ // 507, "INSUFFICIENT_STORAGE", "Insufficient Storage"
663+ // 508, "LOOP_DETECTED", "Loop Detected"
664+ // 509, "BANDWIDTH_LIMIT_EXCEEDED", "Bandwidth Limit Exceeded"
665+ // 510, "NOT_EXTENDED", "Not Extended"
666+ // 511, "NETWORK_AUTHENTICATION_REQUIRED", "Network Authentication Required"
495667//
496668// Возвращаемое значение:
497669// - ФиксированнаяСтруктура - соответствия числовых кодов и краткого имени ответа:
507679
508680КонецФункции
509681
682+ #КонецОбласти
683+
684+ #Область СлужебныеПроцедурыИФункции
685+
686+ Функция КлассыКодовОтвета ()
687+
688+ Перем Результат ;
689+
690+ Результат = Новый Массив();
691+ Результат.Добавить("Информация" );
692+ Результат.Добавить("Успех" );
693+ Результат.Добавить("Перенаправление" );
694+ Результат.Добавить("ОшибкаКлиента" );
695+ Результат.Добавить("ОшибкаСервера" );
696+
697+ Возврат Результат;
698+
699+ КонецФункции
700+
510701#КонецОбласти
0 commit comments