From ab04246b47a9521a6198fb25bf8e43952a443c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Tue, 26 May 2015 09:09:28 +0000 Subject: Facebook: Update definition of http codes git-svn-id: http://svn.miranda-ng.org/main/trunk@13842 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/FacebookRM/src/http.h | 242 +++++++++++++++++++++++----------------- 1 file changed, 138 insertions(+), 104 deletions(-) (limited to 'protocols/FacebookRM/src/http.h') diff --git a/protocols/FacebookRM/src/http.h b/protocols/FacebookRM/src/http.h index 943ebb1a56..a17cea8b04 100644 --- a/protocols/FacebookRM/src/http.h +++ b/protocols/FacebookRM/src/http.h @@ -1,104 +1,138 @@ -/* - -Facebook plugin for Miranda Instant Messenger -_____________________________________________ - -Copyright � 2009-11 Michal Zelinka, 2011-15 Robert P�sel - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -#pragma once - -#define HTTP_PROTO_SECURE "https://" - -#define HTTP_CODE_CONTINUE 100 -#define HTTP_CODE_SWITCHING_PROTOCOLS 101 -#define HTTP_CODE_PROCESSING 102 -#define HTTP_CODE_OK 200 -#define HTTP_CODE_CREATED 201 -#define HTTP_CODE_ACCEPTED 202 -#define HTTP_CODE_NON_AUTHORITATIVE_INFORMATION 203 -#define HTTP_CODE_NO_CONTENT 204 -#define HTTP_CODE_RESET_CONTENT 205 -#define HTTP_CODE_PARTIAL_CONTENT 206 -#define HTTP_CODE_MULTI_STATUS 207 -#define HTTP_CODE_MULTIPLE_CHOICES 300 -#define HTTP_CODE_MOVED_PERMANENTLY 301 -#define HTTP_CODE_FOUND 302 -#define HTTP_CODE_SEE_OTHER 303 -#define HTTP_CODE_NOT_MODIFIED 304 -#define HTTP_CODE_USE_PROXY 305 -#define HTTP_CODE_SWITCH_PROXY 306 -#define HTTP_CODE_TEMPORARY_REDIRECT 307 -#define HTTP_CODE_BAD_REQUEST 400 -#define HTTP_CODE_UNAUTHORIZED 401 -#define HTTP_CODE_PAYMENT_REQUIRED 402 -#define HTTP_CODE_FORBIDDEN 403 -#define HTTP_CODE_NOT_FOUND 404 -#define HTTP_CODE_METHOD_NOT_ALLOWED 405 -#define HTTP_CODE_NOT_ACCEPTABLE 406 -#define HTTP_CODE_PROXY_AUTHENTICATION_REQUIRED 407 -#define HTTP_CODE_REQUEST_TIMEOUT 408 -#define HTTP_CODE_CONFLICT 409 -#define HTTP_CODE_GONE 410 -#define HTTP_CODE_LENGTH_REQUIRED 411 -#define HTTP_CODE_PRECONDITION_REQUIRED 412 -#define HTTP_CODE_REQUEST_ENTITY_TOO_LARGE 413 -#define HTTP_CODE_REQUEST_URI_TOO_LONG 414 -#define HTTP_CODE_UNSUPPORTED_MEDIA_TYPE 415 -#define HTTP_CODE_REQUESTED_RANGE_NOT_SATISFIABLE 416 -#define HTTP_CODE_EXPECTATION_FAILED 417 -#define HTTP_CODE_UNPROCESSABLE_ENTITY 422 -#define HTTP_CODE_LOCKED 423 -#define HTTP_CODE_FAILED_DEPENDENCY 424 -#define HTTP_CODE_UNORDERED_COLLECTION 425 -#define HTTP_CODE_UPGRADE_REQUIRED 426 -#define HTTP_CODE_RETRY_WITH 449 -#define HTTP_CODE_INTERNAL_SERVER_ERROR 500 -#define HTTP_CODE_NOT_IMPLEMENTED 501 -#define HTTP_CODE_BAD_GATEWAY 502 -#define HTTP_CODE_SERVICE_UNAVAILABLE 503 -#define HTTP_CODE_GATEWAY_TIMEOUT 504 -#define HTTP_CODE_HTTP_VERSION_NOT_SUPPORTED 505 -#define HTTP_CODE_VARIANT_ALSO_NEGOTIATES 506 -#define HTTP_CODE_INSUFFICIENT_STORAGE 507 -#define HTTP_CODE_BANDWIDTH_LIMIT_EXCEEDED 509 -#define HTTP_CODE_NOT_EXTENDED 510 - -#define HTTP_CODE_FAKE_DISCONNECTED 0 -#define HTTP_CODE_FAKE_ERROR 1 -#define HTTP_CODE_FAKE_OFFLINE 2 - -namespace http -{ - struct response - { - response() : code(0), error_number(0) {} - - int code; - std::map headers; - std::string data; - - // Facebook's error data - unsigned int error_number; - std::string error_title; - std::string error_text; - - bool isValid() { - return (code == HTTP_CODE_OK && error_number == 0); - } - }; -} +/* + +Facebook plugin for Miranda Instant Messenger +_____________________________________________ + +Copyright � 2009-11 Michal Zelinka, 2011-15 Robert P�sel + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +*/ + +#pragma once + +#define HTTP_PROTO_SECURE "https://" + +// 1xx Informational +#define HTTP_CODE_CONTINUE 100 +#define HTTP_CODE_SWITCHING_PROTOCOLS 101 +#define HTTP_CODE_PROCESSING 102 + +// 2xx Success +#define HTTP_CODE_OK 200 +#define HTTP_CODE_CREATED 201 +#define HTTP_CODE_ACCEPTED 202 +#define HTTP_CODE_NON_AUTHORITATIVE_INFORMATION 203 +#define HTTP_CODE_NO_CONTENT 204 +#define HTTP_CODE_RESET_CONTENT 205 +#define HTTP_CODE_PARTIAL_CONTENT 206 +#define HTTP_CODE_MULTI_STATUS 207 + +// 3xx Redirection +#define HTTP_CODE_MULTIPLE_CHOICES 300 +#define HTTP_CODE_MOVED_PERMANENTLY 301 +#define HTTP_CODE_FOUND 302 +#define HTTP_CODE_SEE_OTHER 303 +#define HTTP_CODE_NOT_MODIFIED 304 +#define HTTP_CODE_USE_PROXY 305 +#define HTTP_CODE_SWITCH_PROXY 306 +#define HTTP_CODE_TEMPORARY_REDIRECT 307 +#define HTTP_CODE_PERMANENT_REDIRECT 308 + +// 4xx Client Error +#define HTTP_CODE_BAD_REQUEST 400 +#define HTTP_CODE_UNAUTHORIZED 401 +#define HTTP_CODE_PAYMENT_REQUIRED 402 +#define HTTP_CODE_FORBIDDEN 403 +#define HTTP_CODE_NOT_FOUND 404 +#define HTTP_CODE_METHOD_NOT_ALLOWED 405 +#define HTTP_CODE_NOT_ACCEPTABLE 406 +#define HTTP_CODE_PROXY_AUTHENTICATION_REQUIRED 407 +#define HTTP_CODE_REQUEST_TIMEOUT 408 +#define HTTP_CODE_CONFLICT 409 +#define HTTP_CODE_GONE 410 +#define HTTP_CODE_LENGTH_REQUIRED 411 +#define HTTP_CODE_PRECONDITION_FAILED 412 +#define HTTP_CODE_REQUEST_ENTITY_TOO_LARGE 413 +#define HTTP_CODE_REQUEST_URI_TOO_LONG 414 +#define HTTP_CODE_UNSUPPORTED_MEDIA_TYPE 415 +#define HTTP_CODE_REQUESTED_RANGE_NOT_SATISFIABLE 416 +#define HTTP_CODE_EXPECTATION_FAILED 417 +#define HTTP_CODE_IM_A_TEAPOT 418 +#define HTTP_CODE_AUTHENTICATION_TIMEOUT 419 +#define HTTP_CODE_METHOD_FAILURE 420 +#define HTTP_CODE_ENHANCE_YOUR_CALM 420 +#define HTTP_CODE_MISDIRECTED_REQUEST 421 +#define HTTP_CODE_UNPROCESSABLE_ENTITY 422 +#define HTTP_CODE_LOCKED 423 +#define HTTP_CODE_FAILED_DEPENDENCY 424 +#define HTTP_CODE_UNORDERED_COLLECTION 425 +#define HTTP_CODE_UPGRADE_REQUIRED 426 +#define HTTP_CODE_PRECONDITION_REQUIRED 428 +#define HTTP_CODE_TOO_MANY_REQUESTS 429 +#define HTTP_CODE_REQUEST_HEADER_FIELDS_TOO_LARGE 431 +#define HTTP_CODE_LOGIN_TIMEOUT 440 +#define HTTP_CODE_NO_RESPONSE 444 +#define HTTP_CODE_RETRY_WITH 449 +#define HTTP_CODE_BLOCKED_BY_WINDOWS_PARENTAL_CONTROL 450 +#define HTTP_CODE_UNAVAILABLE_FOR_LEGAL_REASONS 451 +#define HTTP_CODE_REDIRECT 451 +#define HTTP_CODE_REQUEST_HEADER_TOO_LARGE 494 +#define HTTP_CODE_CERT_ERROR 495 +#define HTTP_CODE_NO_CERT 496 +#define HTTP_CODE_HTTP_TO_HTTPS 497 +#define HTTP_CODE_TOKEN_EXPIRED_INVALID 498 +#define HTTP_CODE_CLIENT_CLOSED_REQUEST 499 +#define HTTP_CODE_TOKEN_REQUIRED 499 + +// 5xx Server Error +#define HTTP_CODE_INTERNAL_SERVER_ERROR 500 +#define HTTP_CODE_NOT_IMPLEMENTED 501 +#define HTTP_CODE_BAD_GATEWAY 502 +#define HTTP_CODE_SERVICE_UNAVAILABLE 503 +#define HTTP_CODE_GATEWAY_TIMEOUT 504 +#define HTTP_CODE_HTTP_VERSION_NOT_SUPPORTED 505 +#define HTTP_CODE_VARIANT_ALSO_NEGOTIATES 506 +#define HTTP_CODE_INSUFFICIENT_STORAGE 507 +#define HTTP_CODE_LOOP_DETECTED 508 +#define HTTP_CODE_BANDWIDTH_LIMIT_EXCEEDED 509 +#define HTTP_CODE_NOT_EXTENDED 510 +#define HTTP_CODE_NETWORK_AUTHENTICATION_REQUIRED 511 +#define HTTP_CODE_NETWORK_READ_TIMEOUT_ERROR 598 +#define HTTP_CODE_NETWORK_CONNECT_TIMEOUT_ERROR 599 + +#define HTTP_CODE_FAKE_DISCONNECTED 0 +#define HTTP_CODE_FAKE_ERROR 1 +#define HTTP_CODE_FAKE_OFFLINE 2 + +namespace http +{ + struct response + { + response() : code(0), error_number(0) {} + + int code; + std::map headers; + std::string data; + + // Facebook's error data + unsigned int error_number; + std::string error_title; + std::string error_text; + + bool isValid() { + return (code == HTTP_CODE_OK && error_number == 0); + } + }; +} -- cgit v1.2.3