diff options
Diffstat (limited to 'protocols/FacebookRM/src')
| -rw-r--r-- | protocols/FacebookRM/src/http.h | 242 | 
1 files changed, 138 insertions, 104 deletions
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 <http://www.gnu.org/licenses/>.
 -
 -*/
 -
 -#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<std::string, std::string> 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 <http://www.gnu.org/licenses/>. + +*/ + +#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<std::string, std::string> 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); +		} +	}; +}  | 
