blob: a17cea8b04c007fd8399a94be96056731c99d0ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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://"
// 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);
}
};
}
|