-rw-r--r-- | include/sitecing/exception.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sitecing/exception.h b/include/sitecing/exception.h index 857a8e6..ccc7edd 100644 --- a/include/sitecing/exception.h +++ b/include/sitecing/exception.h | |||
@@ -1,524 +1,527 @@ | |||
1 | #ifndef __SITECING_EXCEPTION_H | 1 | #ifndef __SITECING_EXCEPTION_H |
2 | #define __SITECING_EXCEPTION_H | 2 | #define __SITECING_EXCEPTION_H |
3 | 3 | ||
4 | #include <string> | ||
5 | |||
4 | /** | 6 | /** |
5 | * @file | 7 | * @file |
6 | * @brief The site-C-ing specific exceptions. | 8 | * @brief The site-C-ing specific exceptions. |
7 | */ | 9 | */ |
8 | 10 | ||
9 | /** | 11 | /** |
10 | * @brief The main site-C-ing namespace. | 12 | * @brief The main site-C-ing namespace. |
11 | */ | 13 | */ |
12 | namespace sitecing { | 14 | namespace sitecing { |
15 | using std::string; | ||
13 | 16 | ||
14 | // TODO: status specifics | 17 | // TODO: status specifics |
15 | 18 | ||
16 | /** | 19 | /** |
17 | * The http status to return. | 20 | * The http status to return. |
18 | */ | 21 | */ |
19 | class http_status { | 22 | class http_status { |
20 | public: | 23 | public: |
21 | /** | 24 | /** |
22 | * The status string. | 25 | * The status string. |
23 | */ | 26 | */ |
24 | string status; | 27 | string status; |
25 | /** | 28 | /** |
26 | * The message to follow the status string. | 29 | * The message to follow the status string. |
27 | */ | 30 | */ |
28 | string message; | 31 | string message; |
29 | 32 | ||
30 | /** | 33 | /** |
31 | * @param s HTTP status. | 34 | * @param s HTTP status. |
32 | * @param m HTTP status message. | 35 | * @param m HTTP status message. |
33 | */ | 36 | */ |
34 | http_status(const string& s,const string& m) | 37 | http_status(const string& s,const string& m) |
35 | : status(s), message(m) { } | 38 | : status(s), message(m) { } |
36 | virtual ~http_status() throw() { } | 39 | virtual ~http_status() throw() { } |
37 | }; | 40 | }; |
38 | 41 | ||
39 | // per RFC 2616 | 42 | // per RFC 2616 |
40 | 43 | ||
41 | /** | 44 | /** |
42 | * Informational. | 45 | * Informational. |
43 | */ | 46 | */ |
44 | class http_status_1xx : public http_status { | 47 | class http_status_1xx : public http_status { |
45 | public: | 48 | public: |
46 | /** | 49 | /** |
47 | * @param s HTTP status | 50 | * @param s HTTP status |
48 | * @param m HTTP status message | 51 | * @param m HTTP status message |
49 | */ | 52 | */ |
50 | explicit http_status_1xx(const string &s,const string& m) | 53 | explicit http_status_1xx(const string &s,const string& m) |
51 | : http_status(s,m) { } | 54 | : http_status(s,m) { } |
52 | }; | 55 | }; |
53 | /** | 56 | /** |
54 | * Continue. | 57 | * Continue. |
55 | */ | 58 | */ |
56 | class http_status_100 : public http_status_1xx { | 59 | class http_status_100 : public http_status_1xx { |
57 | public: | 60 | public: |
58 | /** | 61 | /** |
59 | * @param m HTTP status message | 62 | * @param m HTTP status message |
60 | */ | 63 | */ |
61 | explicit http_status_100(const string& m) | 64 | explicit http_status_100(const string& m) |
62 | : http_status_1xx("100",m) { } | 65 | : http_status_1xx("100",m) { } |
63 | explicit http_status_100() | 66 | explicit http_status_100() |
64 | : http_status_1xx("100","Continue") { } | 67 | : http_status_1xx("100","Continue") { } |
65 | }; | 68 | }; |
66 | /** | 69 | /** |
67 | * Switching protocols. | 70 | * Switching protocols. |
68 | */ | 71 | */ |
69 | class http_status_101 : public http_status_1xx { | 72 | class http_status_101 : public http_status_1xx { |
70 | public: | 73 | public: |
71 | /** | 74 | /** |
72 | * @param m HTTP status message | 75 | * @param m HTTP status message |
73 | */ | 76 | */ |
74 | explicit http_status_101(const string& m) | 77 | explicit http_status_101(const string& m) |
75 | : http_status_1xx("101",m) { } | 78 | : http_status_1xx("101",m) { } |
76 | explicit http_status_101() | 79 | explicit http_status_101() |
77 | : http_status_1xx("101","Switching protocols") { } | 80 | : http_status_1xx("101","Switching protocols") { } |
78 | }; | 81 | }; |
79 | 82 | ||
80 | /** | 83 | /** |
81 | * Successful. | 84 | * Successful. |
82 | */ | 85 | */ |
83 | class http_status_2xx : public http_status { | 86 | class http_status_2xx : public http_status { |
84 | public: | 87 | public: |
85 | /** | 88 | /** |
86 | * @param s HTTP status message | 89 | * @param s HTTP status message |
87 | * @param m HTTP status message | 90 | * @param m HTTP status message |
88 | */ | 91 | */ |
89 | explicit http_status_2xx(const string& s,const string& m) | 92 | explicit http_status_2xx(const string& s,const string& m) |
90 | : http_status(s,m) { } | 93 | : http_status(s,m) { } |
91 | }; | 94 | }; |
92 | /** | 95 | /** |
93 | * OK. | 96 | * OK. |
94 | */ | 97 | */ |
95 | class http_status_200 : public http_status_2xx { | 98 | class http_status_200 : public http_status_2xx { |
96 | public: | 99 | public: |
97 | /** | 100 | /** |
98 | * @param m HTTP status message | 101 | * @param m HTTP status message |
99 | */ | 102 | */ |
100 | explicit http_status_200(const string& m) | 103 | explicit http_status_200(const string& m) |
101 | : http_status_2xx("200",m) { } | 104 | : http_status_2xx("200",m) { } |
102 | explicit http_status_200() | 105 | explicit http_status_200() |
103 | : http_status_2xx("200","OK") { } | 106 | : http_status_2xx("200","OK") { } |
104 | }; | 107 | }; |
105 | /** | 108 | /** |
106 | * Created. | 109 | * Created. |
107 | */ | 110 | */ |
108 | class http_status_201 : public http_status_2xx { | 111 | class http_status_201 : public http_status_2xx { |
109 | public: | 112 | public: |
110 | /** | 113 | /** |
111 | * @param m HTTP status message | 114 | * @param m HTTP status message |
112 | */ | 115 | */ |
113 | explicit http_status_201(const string& m) | 116 | explicit http_status_201(const string& m) |
114 | : http_status_2xx("201",m) { } | 117 | : http_status_2xx("201",m) { } |
115 | explicit http_status_201() | 118 | explicit http_status_201() |
116 | : http_status_2xx("201","Created") { } | 119 | : http_status_2xx("201","Created") { } |
117 | }; | 120 | }; |
118 | /** | 121 | /** |
119 | * Accepted. | 122 | * Accepted. |
120 | */ | 123 | */ |
121 | class http_status_202 : public http_status_2xx { | 124 | class http_status_202 : public http_status_2xx { |
122 | public: | 125 | public: |
123 | /** | 126 | /** |
124 | * @param m HTTP status message | 127 | * @param m HTTP status message |
125 | */ | 128 | */ |
126 | explicit http_status_202(const string& m) | 129 | explicit http_status_202(const string& m) |
127 | : http_status_2xx("202",m) { } | 130 | : http_status_2xx("202",m) { } |
128 | explicit http_status_202() | 131 | explicit http_status_202() |
129 | : http_status_2xx("202","Accepted") { } | 132 | : http_status_2xx("202","Accepted") { } |
130 | }; | 133 | }; |
131 | /** | 134 | /** |
132 | * Non-authoritative infortmation. | 135 | * Non-authoritative infortmation. |
133 | */ | 136 | */ |
134 | class http_status_203 : public http_status_2xx { | 137 | class http_status_203 : public http_status_2xx { |
135 | public: | 138 | public: |
136 | /** | 139 | /** |
137 | * @param m HTTP status message | 140 | * @param m HTTP status message |
138 | */ | 141 | */ |
139 | explicit http_status_203(const string& m) | 142 | explicit http_status_203(const string& m) |
140 | : http_status_2xx("203",m) { } | 143 | : http_status_2xx("203",m) { } |
141 | explicit http_status_203() | 144 | explicit http_status_203() |
142 | : http_status_2xx("203","Non-authoritative information") { } | 145 | : http_status_2xx("203","Non-authoritative information") { } |
143 | }; | 146 | }; |
144 | /** | 147 | /** |
145 | * No content. | 148 | * No content. |
146 | */ | 149 | */ |
147 | class http_status_204 : public http_status_2xx { | 150 | class http_status_204 : public http_status_2xx { |
148 | public: | 151 | public: |
149 | /** | 152 | /** |
150 | * @param m HTTP status message | 153 | * @param m HTTP status message |
151 | */ | 154 | */ |
152 | explicit http_status_204(const string& m) | 155 | explicit http_status_204(const string& m) |
153 | : http_status_2xx("204",m) { } | 156 | : http_status_2xx("204",m) { } |
154 | explicit http_status_204() | 157 | explicit http_status_204() |
155 | : http_status_2xx("204","No content") { } | 158 | : http_status_2xx("204","No content") { } |
156 | }; | 159 | }; |
157 | /** | 160 | /** |
158 | * Reset content. | 161 | * Reset content. |
159 | */ | 162 | */ |
160 | class http_status_205 : public http_status_2xx { | 163 | class http_status_205 : public http_status_2xx { |
161 | public: | 164 | public: |
162 | /** | 165 | /** |
163 | * @param m HTTP status message | 166 | * @param m HTTP status message |
164 | */ | 167 | */ |
165 | explicit http_status_205(const string& m) | 168 | explicit http_status_205(const string& m) |
166 | : http_status_2xx("205",m) { } | 169 | : http_status_2xx("205",m) { } |
167 | explicit http_status_205() | 170 | explicit http_status_205() |
168 | : http_status_2xx("205","Reset content") { } | 171 | : http_status_2xx("205","Reset content") { } |
169 | }; | 172 | }; |
170 | /** | 173 | /** |
171 | * Partial content. | 174 | * Partial content. |
172 | */ | 175 | */ |
173 | class http_status_206 : public http_status_2xx { | 176 | class http_status_206 : public http_status_2xx { |
174 | public: | 177 | public: |
175 | /** | 178 | /** |
176 | * @param m HTTP status message | 179 | * @param m HTTP status message |
177 | */ | 180 | */ |
178 | explicit http_status_206(const string& m) | 181 | explicit http_status_206(const string& m) |
179 | : http_status_2xx("206",m) { } | 182 | : http_status_2xx("206",m) { } |
180 | explicit http_status_206() | 183 | explicit http_status_206() |
181 | : http_status_2xx("206","Partial content") { } | 184 | : http_status_2xx("206","Partial content") { } |
182 | }; | 185 | }; |
183 | 186 | ||
184 | /** | 187 | /** |
185 | * Redirection. | 188 | * Redirection. |
186 | */ | 189 | */ |
187 | class http_status_3xx : public http_status { | 190 | class http_status_3xx : public http_status { |
188 | public: | 191 | public: |
189 | /** | 192 | /** |
190 | * @param s HTTP status | 193 | * @param s HTTP status |
191 | * @param m HTTP status message | 194 | * @param m HTTP status message |
192 | */ | 195 | */ |
193 | explicit http_status_3xx(const string& s,const string& m) | 196 | explicit http_status_3xx(const string& s,const string& m) |
194 | : http_status(s,m) { } | 197 | : http_status(s,m) { } |
195 | }; | 198 | }; |
196 | /** | 199 | /** |
197 | * Multiple choices. | 200 | * Multiple choices. |
198 | */ | 201 | */ |
199 | class http_status_300 : public http_status_3xx { | 202 | class http_status_300 : public http_status_3xx { |
200 | public: | 203 | public: |
201 | /** | 204 | /** |
202 | * @param m HTTP status message | 205 | * @param m HTTP status message |
203 | */ | 206 | */ |
204 | explicit http_status_300(const string& m) | 207 | explicit http_status_300(const string& m) |
205 | : http_status_3xx("300",m) { } | 208 | : http_status_3xx("300",m) { } |
206 | explicit http_status_300() | 209 | explicit http_status_300() |
207 | : http_status_3xx("300","Multiple choices") { } | 210 | : http_status_3xx("300","Multiple choices") { } |
208 | }; | 211 | }; |
209 | /** | 212 | /** |
210 | * Moved permanently. | 213 | * Moved permanently. |
211 | */ | 214 | */ |
212 | class http_status_301 : public http_status_3xx { | 215 | class http_status_301 : public http_status_3xx { |
213 | public: | 216 | public: |
214 | /** | 217 | /** |
215 | * @param m HTTP status message | 218 | * @param m HTTP status message |
216 | */ | 219 | */ |
217 | explicit http_status_301(const string& m) | 220 | explicit http_status_301(const string& m) |
218 | : http_status_3xx("301",m) { } | 221 | : http_status_3xx("301",m) { } |
219 | explicit http_status_301() | 222 | explicit http_status_301() |
220 | : http_status_3xx("301","Moved permanently") { } | 223 | : http_status_3xx("301","Moved permanently") { } |
221 | }; | 224 | }; |
222 | /** | 225 | /** |
223 | * Found. | 226 | * Found. |
224 | */ | 227 | */ |
225 | class http_status_302 : public http_status_3xx { | 228 | class http_status_302 : public http_status_3xx { |
226 | public: | 229 | public: |
227 | /** | 230 | /** |
228 | * @param m HTTP status message | 231 | * @param m HTTP status message |
229 | */ | 232 | */ |
230 | explicit http_status_302(const string& m) | 233 | explicit http_status_302(const string& m) |
231 | : http_status_3xx("302",m) { } | 234 | : http_status_3xx("302",m) { } |
232 | explicit http_status_302() | 235 | explicit http_status_302() |
233 | : http_status_3xx("302","Found") { } | 236 | : http_status_3xx("302","Found") { } |
234 | }; | 237 | }; |
235 | /** | 238 | /** |
236 | * See other. | 239 | * See other. |
237 | */ | 240 | */ |
238 | class http_status_303 : public http_status_3xx { | 241 | class http_status_303 : public http_status_3xx { |
239 | public: | 242 | public: |
240 | /** | 243 | /** |
241 | * @param m HTTP status message | 244 | * @param m HTTP status message |
242 | */ | 245 | */ |
243 | explicit http_status_303(const string& m) | 246 | explicit http_status_303(const string& m) |
244 | : http_status_3xx("303",m) { } | 247 | : http_status_3xx("303",m) { } |
245 | explicit http_status_303() | 248 | explicit http_status_303() |
246 | : http_status_3xx("303","See other") { } | 249 | : http_status_3xx("303","See other") { } |
247 | }; | 250 | }; |
248 | /** | 251 | /** |
249 | * Not modified. | 252 | * Not modified. |
250 | */ | 253 | */ |
251 | class http_status_304 : public http_status_3xx { | 254 | class http_status_304 : public http_status_3xx { |
252 | public: | 255 | public: |
253 | /** | 256 | /** |
254 | * @param m HTTP status message | 257 | * @param m HTTP status message |
255 | */ | 258 | */ |
256 | explicit http_status_304(const string& m) | 259 | explicit http_status_304(const string& m) |
257 | : http_status_3xx("304",m) { } | 260 | : http_status_3xx("304",m) { } |
258 | explicit http_status_304() | 261 | explicit http_status_304() |
259 | : http_status_3xx("304","Not modified") { } | 262 | : http_status_3xx("304","Not modified") { } |
260 | }; | 263 | }; |
261 | /** | 264 | /** |
262 | * Use proxy. | 265 | * Use proxy. |
263 | */ | 266 | */ |
264 | class http_status_305 : public http_status_3xx { | 267 | class http_status_305 : public http_status_3xx { |
265 | public: | 268 | public: |
266 | /** | 269 | /** |
267 | * @param m HTTP status message | 270 | * @param m HTTP status message |
268 | */ | 271 | */ |
269 | explicit http_status_305(const string& m) | 272 | explicit http_status_305(const string& m) |
270 | : http_status_3xx("305",m) { } | 273 | : http_status_3xx("305",m) { } |
271 | explicit http_status_305() | 274 | explicit http_status_305() |
272 | : http_status_3xx("305","Use proxy") { } | 275 | : http_status_3xx("305","Use proxy") { } |
273 | }; | 276 | }; |
274 | // 306 is unused and reserved | 277 | // 306 is unused and reserved |
275 | /** | 278 | /** |
276 | * Temporary redirect. | 279 | * Temporary redirect. |
277 | */ | 280 | */ |
278 | class http_status_307 : public http_status_3xx { | 281 | class http_status_307 : public http_status_3xx { |
279 | public: | 282 | public: |
280 | /** | 283 | /** |
281 | * @param m HTTP status message | 284 | * @param m HTTP status message |
282 | */ | 285 | */ |
283 | explicit http_status_307(const string& m) | 286 | explicit http_status_307(const string& m) |
284 | : http_status_3xx("307",m) { } | 287 | : http_status_3xx("307",m) { } |
285 | explicit http_status_307() | 288 | explicit http_status_307() |
286 | : http_status_3xx("307","Temporary redirect") { } | 289 | : http_status_3xx("307","Temporary redirect") { } |
287 | }; | 290 | }; |
288 | 291 | ||
289 | /** | 292 | /** |
290 | * Error. | 293 | * Error. |
291 | */ | 294 | */ |
292 | class http_status_4xx : public http_status { | 295 | class http_status_4xx : public http_status { |
293 | public: | 296 | public: |
294 | /** | 297 | /** |
295 | * @param s HTTP status | 298 | * @param s HTTP status |
296 | * @param m HTTP status message | 299 | * @param m HTTP status message |
297 | */ | 300 | */ |
298 | explicit http_status_4xx(const string& s,const string& m) | 301 | explicit http_status_4xx(const string& s,const string& m) |
299 | : http_status(s,m) { } | 302 | : http_status(s,m) { } |
300 | }; | 303 | }; |
301 | /** | 304 | /** |
302 | * Bad request. | 305 | * Bad request. |
303 | */ | 306 | */ |
304 | class http_status_400 : public http_status_4xx { | 307 | class http_status_400 : public http_status_4xx { |
305 | public: | 308 | public: |
306 | /** | 309 | /** |
307 | * @param m HTTP status message | 310 | * @param m HTTP status message |
308 | */ | 311 | */ |
309 | explicit http_status_400(const string& m) | 312 | explicit http_status_400(const string& m) |
310 | : http_status_4xx("400",m) { } | 313 | : http_status_4xx("400",m) { } |
311 | explicit http_status_400() | 314 | explicit http_status_400() |
312 | : http_status_4xx("400","Bad request") { } | 315 | : http_status_4xx("400","Bad request") { } |
313 | }; | 316 | }; |
314 | /** | 317 | /** |
315 | * Unauthorized. | 318 | * Unauthorized. |
316 | */ | 319 | */ |
317 | class http_status_401 : public http_status_4xx { | 320 | class http_status_401 : public http_status_4xx { |
318 | public: | 321 | public: |
319 | /** | 322 | /** |
320 | * @param m HTTP status message | 323 | * @param m HTTP status message |
321 | */ | 324 | */ |
322 | explicit http_status_401(const string& m) | 325 | explicit http_status_401(const string& m) |
323 | : http_status_4xx("401",m) { } | 326 | : http_status_4xx("401",m) { } |
324 | explicit http_status_401() | 327 | explicit http_status_401() |
325 | : http_status_4xx("401","Unauthorized") { } | 328 | : http_status_4xx("401","Unauthorized") { } |
326 | }; | 329 | }; |
327 | /** | 330 | /** |
328 | * Payment required. | 331 | * Payment required. |
329 | */ | 332 | */ |
330 | class http_status_402 : public http_status_4xx { | 333 | class http_status_402 : public http_status_4xx { |
331 | public: | 334 | public: |
332 | /** | 335 | /** |
333 | * @param m HTTP status message | 336 | * @param m HTTP status message |
334 | */ | 337 | */ |
335 | explicit http_status_402(const string& m) | 338 | explicit http_status_402(const string& m) |
336 | : http_status_4xx("402",m) { } | 339 | : http_status_4xx("402",m) { } |
337 | explicit http_status_402() | 340 | explicit http_status_402() |
338 | : http_status_4xx("402","Payment required") { } | 341 | : http_status_4xx("402","Payment required") { } |
339 | }; | 342 | }; |
340 | /** | 343 | /** |
341 | * Forbidden. | 344 | * Forbidden. |
342 | */ | 345 | */ |
343 | class http_status_403 : public http_status_4xx { | 346 | class http_status_403 : public http_status_4xx { |
344 | public: | 347 | public: |
345 | /** | 348 | /** |
346 | * @param m HTTP status message | 349 | * @param m HTTP status message |
347 | */ | 350 | */ |
348 | explicit http_status_403(const string& m) | 351 | explicit http_status_403(const string& m) |
349 | : http_status_4xx("403",m) { } | 352 | : http_status_4xx("403",m) { } |
350 | explicit http_status_403() | 353 | explicit http_status_403() |
351 | : http_status_4xx("403","Forbidden") { } | 354 | : http_status_4xx("403","Forbidden") { } |
352 | }; | 355 | }; |
353 | /** | 356 | /** |
354 | * Not found. | 357 | * Not found. |
355 | */ | 358 | */ |
356 | class http_status_404 : public http_status_4xx { | 359 | class http_status_404 : public http_status_4xx { |
357 | public: | 360 | public: |
358 | /** | 361 | /** |
359 | * @param m HTTP status message | 362 | * @param m HTTP status message |
360 | */ | 363 | */ |
361 | explicit http_status_404(const string& m) | 364 | explicit http_status_404(const string& m) |
362 | : http_status_4xx("404",m) { } | 365 | : http_status_4xx("404",m) { } |
363 | explicit http_status_404() | 366 | explicit http_status_404() |
364 | : http_status_4xx("404","Not found") { } | 367 | : http_status_4xx("404","Not found") { } |
365 | }; | 368 | }; |
366 | /** | 369 | /** |
367 | * Method not allowed. | 370 | * Method not allowed. |
368 | */ | 371 | */ |
369 | class http_status_405 : public http_status_4xx { | 372 | class http_status_405 : public http_status_4xx { |
370 | public: | 373 | public: |
371 | /** | 374 | /** |
372 | * @param m HTTP status message | 375 | * @param m HTTP status message |
373 | */ | 376 | */ |
374 | explicit http_status_405(const string& m) | 377 | explicit http_status_405(const string& m) |
375 | : http_status_4xx("405",m) { } | 378 | : http_status_4xx("405",m) { } |
376 | explicit http_status_405() | 379 | explicit http_status_405() |
377 | : http_status_4xx("405","Method not allowed") { } | 380 | : http_status_4xx("405","Method not allowed") { } |
378 | }; | 381 | }; |
379 | /** | 382 | /** |
380 | * Not acceptable. | 383 | * Not acceptable. |
381 | */ | 384 | */ |
382 | class http_status_406 : public http_status_4xx { | 385 | class http_status_406 : public http_status_4xx { |
383 | public: | 386 | public: |
384 | /** | 387 | /** |
385 | * @param m HTTP status message | 388 | * @param m HTTP status message |
386 | */ | 389 | */ |
387 | explicit http_status_406(const string& m) | 390 | explicit http_status_406(const string& m) |
388 | : http_status_4xx("406",m) { } | 391 | : http_status_4xx("406",m) { } |
389 | explicit http_status_406() | 392 | explicit http_status_406() |
390 | : http_status_4xx("406","Not acceptable") { } | 393 | : http_status_4xx("406","Not acceptable") { } |
391 | }; | 394 | }; |
392 | /** | 395 | /** |
393 | * Proxy authentication required. | 396 | * Proxy authentication required. |
394 | */ | 397 | */ |
395 | class http_status_407 : public http_status_4xx { | 398 | class http_status_407 : public http_status_4xx { |
396 | public: | 399 | public: |
397 | /** | 400 | /** |
398 | * @param m HTTP status message | 401 | * @param m HTTP status message |
399 | */ | 402 | */ |
400 | explicit http_status_407(const string& m) | 403 | explicit http_status_407(const string& m) |
401 | : http_status_4xx("407",m) { } | 404 | : http_status_4xx("407",m) { } |
402 | explicit http_status_407() | 405 | explicit http_status_407() |
403 | : http_status_4xx("407","Proxy authentication required") { } | 406 | : http_status_4xx("407","Proxy authentication required") { } |
404 | }; | 407 | }; |
405 | /** | 408 | /** |
406 | * Request timeout. | 409 | * Request timeout. |
407 | */ | 410 | */ |
408 | class http_status_408 : public http_status_4xx { | 411 | class http_status_408 : public http_status_4xx { |
409 | public: | 412 | public: |
410 | /** | 413 | /** |
411 | * @param m HTTP status message | 414 | * @param m HTTP status message |
412 | */ | 415 | */ |
413 | explicit http_status_408(const string& m) | 416 | explicit http_status_408(const string& m) |
414 | : http_status_4xx("408",m) { } | 417 | : http_status_4xx("408",m) { } |
415 | explicit http_status_408() | 418 | explicit http_status_408() |
416 | : http_status_4xx("408","Request timeout") { } | 419 | : http_status_4xx("408","Request timeout") { } |
417 | }; | 420 | }; |
418 | /** | 421 | /** |
419 | * Conflict. | 422 | * Conflict. |
420 | */ | 423 | */ |
421 | class http_status_409 : public http_status_4xx { | 424 | class http_status_409 : public http_status_4xx { |
422 | public: | 425 | public: |
423 | /** | 426 | /** |
424 | * @param m HTTP status message | 427 | * @param m HTTP status message |
425 | */ | 428 | */ |
426 | explicit http_status_409(const string& m) | 429 | explicit http_status_409(const string& m) |
427 | : http_status_4xx("409",m) { } | 430 | : http_status_4xx("409",m) { } |
428 | explicit http_status_409() | 431 | explicit http_status_409() |
429 | : http_status_4xx("409","Conflict") { } | 432 | : http_status_4xx("409","Conflict") { } |
430 | }; | 433 | }; |
431 | /** | 434 | /** |
432 | * Gone. | 435 | * Gone. |
433 | */ | 436 | */ |
434 | class http_status_410 : public http_status_4xx { | 437 | class http_status_410 : public http_status_4xx { |
435 | public: | 438 | public: |
436 | /** | 439 | /** |
437 | * @param m HTTP status message | 440 | * @param m HTTP status message |
438 | */ | 441 | */ |
439 | explicit http_status_410(const string& m) | 442 | explicit http_status_410(const string& m) |
440 | : http_status_4xx("410",m) { } | 443 | : http_status_4xx("410",m) { } |
441 | explicit http_status_410() | 444 | explicit http_status_410() |
442 | : http_status_4xx("410","Gone") { } | 445 | : http_status_4xx("410","Gone") { } |
443 | }; | 446 | }; |
444 | /** | 447 | /** |
445 | * Length required. | 448 | * Length required. |
446 | */ | 449 | */ |
447 | class http_status_411 : public http_status_4xx { | 450 | class http_status_411 : public http_status_4xx { |
448 | public: | 451 | public: |
449 | /** | 452 | /** |
450 | * @param m HTTP status message | 453 | * @param m HTTP status message |
451 | */ | 454 | */ |
452 | explicit http_status_411(const string& m) | 455 | explicit http_status_411(const string& m) |
453 | : http_status_4xx("411",m) { } | 456 | : http_status_4xx("411",m) { } |
454 | explicit http_status_411() | 457 | explicit http_status_411() |
455 | : http_status_4xx("411","Length required") { } | 458 | : http_status_4xx("411","Length required") { } |
456 | }; | 459 | }; |
457 | /** | 460 | /** |
458 | * Precondition failed. | 461 | * Precondition failed. |
459 | */ | 462 | */ |
460 | class http_status_412 : public http_status_4xx { | 463 | class http_status_412 : public http_status_4xx { |
461 | public: | 464 | public: |
462 | /** | 465 | /** |
463 | * @param m HTTP status message | 466 | * @param m HTTP status message |
464 | */ | 467 | */ |
465 | explicit http_status_412(const string& m) | 468 | explicit http_status_412(const string& m) |
466 | : http_status_4xx("412",m) { } | 469 | : http_status_4xx("412",m) { } |
467 | explicit http_status_412() | 470 | explicit http_status_412() |
468 | : http_status_4xx("412","Precondition failed") { } | 471 | : http_status_4xx("412","Precondition failed") { } |
469 | }; | 472 | }; |
470 | /** | 473 | /** |
471 | * Request entity too large. | 474 | * Request entity too large. |
472 | */ | 475 | */ |
473 | class http_status_413 : public http_status_4xx { | 476 | class http_status_413 : public http_status_4xx { |
474 | public: | 477 | public: |
475 | /** | 478 | /** |
476 | * @param m HTTP status message | 479 | * @param m HTTP status message |
477 | */ | 480 | */ |
478 | explicit http_status_413(const string& m) | 481 | explicit http_status_413(const string& m) |
479 | : http_status_4xx("413",m) { } | 482 | : http_status_4xx("413",m) { } |
480 | explicit http_status_413() | 483 | explicit http_status_413() |
481 | : http_status_4xx("413","Request entity too large") { } | 484 | : http_status_4xx("413","Request entity too large") { } |
482 | }; | 485 | }; |
483 | /** | 486 | /** |
484 | * Request URI too long. | 487 | * Request URI too long. |
485 | */ | 488 | */ |
486 | class http_status_414 : public http_status_4xx { | 489 | class http_status_414 : public http_status_4xx { |
487 | public: | 490 | public: |
488 | /** | 491 | /** |
489 | * @param m HTTP status message | 492 | * @param m HTTP status message |
490 | */ | 493 | */ |
491 | explicit http_status_414(const string& m) | 494 | explicit http_status_414(const string& m) |
492 | : http_status_4xx("414",m) { } | 495 | : http_status_4xx("414",m) { } |
493 | explicit http_status_414() | 496 | explicit http_status_414() |
494 | : http_status_4xx("414","Request URI too long") { } | 497 | : http_status_4xx("414","Request URI too long") { } |
495 | }; | 498 | }; |
496 | /** | 499 | /** |
497 | * Unsupported media type. | 500 | * Unsupported media type. |
498 | */ | 501 | */ |
499 | class http_status_415 : public http_status_4xx { | 502 | class http_status_415 : public http_status_4xx { |
500 | public: | 503 | public: |
501 | /** | 504 | /** |
502 | * @param m HTTP status message | 505 | * @param m HTTP status message |
503 | */ | 506 | */ |
504 | explicit http_status_415(const string& m) | 507 | explicit http_status_415(const string& m) |
505 | : http_status_4xx("415",m) { } | 508 | : http_status_4xx("415",m) { } |
506 | explicit http_status_415() | 509 | explicit http_status_415() |
507 | : http_status_4xx("415","Unsupported media type") { } | 510 | : http_status_4xx("415","Unsupported media type") { } |
508 | }; | 511 | }; |
509 | /** | 512 | /** |
510 | * Requested range not satisfiable. | 513 | * Requested range not satisfiable. |
511 | */ | 514 | */ |
512 | class http_status_416 : public http_status_4xx { | 515 | class http_status_416 : public http_status_4xx { |
513 | public: | 516 | public: |
514 | /** | 517 | /** |
515 | * @param m HTTP status message | 518 | * @param m HTTP status message |
516 | */ | 519 | */ |
517 | explicit http_status_416(const string& m) | 520 | explicit http_status_416(const string& m) |
518 | : http_status_4xx("416",m) { } | 521 | : http_status_4xx("416",m) { } |
519 | explicit http_status_416() | 522 | explicit http_status_416() |
520 | : http_status_4xx("416","Requested range not satisfiable") { } | 523 | : http_status_4xx("416","Requested range not satisfiable") { } |
521 | }; | 524 | }; |
522 | /** | 525 | /** |
523 | * Expectation failed. | 526 | * Expectation failed. |
524 | */ | 527 | */ |