23 #include <webview/error_reply.h> 25 #include <core/exceptions/software.h> 46 const char *format, ...)
49 if ( (code < 400) || (code > 599) ) {
55 _title =
"400 BAD_REQUEST";
56 _body =
"<h1>400 BAD_REQUEST</h1>";
60 _title =
"401 UNAUTHORIZED";
61 _body =
"<h1>401 UNAUTHORIZED</h1>";
65 _title =
"402 PAYMENT_REQUIRED";
66 _body =
"<h1>402 PAYMENT_REQUIRED</h1>";
71 _body =
"<h1>403 FORBIDDEN</h1>";
76 _body =
"<h1>404 NOT_FOUND</h1>";
break;
79 _title =
"405 METHOD_NOT_ALLOWED";
80 _body =
"<h1>405 METHOD_NOT_ALLOWED</h1>";
84 _title =
"406 METHOD_NOT_ACCEPTABLE";
85 _body =
"<h1>406 METHOD_NOT_ACCEPTABLE</h1>";
89 _title =
"407 PROXY_AUTHENTICATION_REQUIRED";
90 _body =
"<h1>407 PROXY_AUTHENTICATION_REQUIRED</h1>";
94 _title =
"408 REQUEST_TIMEOUT";
95 _body =
"<h1>408 REQUEST_TIMEOUT</h1>";
100 _body =
"<h1>409 CONFLICT</h1>";
105 _body =
"<h1>410 GONE</h1>";
109 _title =
"411 LENGTH_REQUIRED";
110 _body =
"<h1>411 LENGTH_REQUIRED</h1>";
114 _title =
"412 PRECONDITION_FAILED";
115 _body =
"<h1>412 PRECONDITION_FAILED</h1>";
119 _title =
"413 REQUEST_ENTITY_TOO_LARGE";
120 _body =
"<h1>413 REQUEST_ENTITY_TOO_LARGE</h1>";
124 _title =
"414 REQUEST_URI_TOO_LONG";
125 _body =
"<h1>414 REQUEST_URI_TOO_LONG</h1>";
129 _title =
"415 UNSUPPORTED_MEDIA_TYPE";
130 _body =
"<h1>415 UNSUPPORTED_MEDIA_TYPE</h1>";
134 _title =
"416 REQUESTED_RANGE_NOT_SATISFIABLE";
135 _body =
"<h1>416 REQUESTED_RANGE_NOT_SATISFIABLE</h1>";
139 _title =
"417 EXPECTATION_FAILED";
140 _body =
"<h1>417 EXPECTATION_FAILED</h1>";
144 _title =
"422 UNPROCESSABLE_ENTITY";
145 _body =
"<h1>422 UNPROCESSABLE_ENTITY</h1>";
150 _body =
"<h1>423 LOCKED</h1>";
154 _title =
"424 FAILED_DEPENDENCY";
155 _body =
"<h1>424 FAILED_DEPENDENCY</h1>";
159 _title =
"425 UNORDERED_COLLECTION";
160 _body =
"<h1>425 UNORDERED_COLLECTION</h1>";
164 _title =
"426 UPGRADE_REQUIRED";
165 _body =
"<h1>426 UPGRADE_REQUIRED</h1>";
169 _title =
"449 RETRY_WITH";
170 _body =
"<h1>449 RETRY_WITH</h1>";
175 _title =
"500 INTERNAL_SERVER_ERROR";
176 _body =
"<h1>500 INTERNAL_SERVER_ERROR</h1>";
180 _title =
"501 NOT_IMPLEMENTED";
181 _body =
"<h1>501 NOT_IMPLEMENTED</h1>";
185 _title =
"502 BAD_GATEWAY";
186 _body =
"<h1>502 BAD_GATEWAY</h1>";
190 _title =
"503 SERVICE_UNAVAILABLE";
191 _body =
"<h1>503 SERVICE_UNAVAILABLE</h1>";
195 _title =
"504 GATEWAY_TIMEOUT";
196 _body =
"<h1>504 GATEWAY_TIMEOUT</h1>";
200 _title =
"505 HTTP_VERSION_NOT_SUPPORTED";
201 _body =
"<h1>505 HTTP_VERSION_NOT_SUPPORTED</h1>";
205 _title =
"506 VARIANT_ALSO_NEGOTIATES";
206 _body =
"<h1>506 VARIANT_ALSO_NEGOTIATES</h1>";
210 _title =
"507 INSUFFICIENT_STORAGE";
211 _body =
"<h1>507 INSUFFICIENT_STORAGE</h1>";
215 _title =
"509 BANDWIDTH_LIMIT_EXCEEDED";
216 _body =
"<h1>509 BANDWIDTH_LIMIT_EXCEEDED</h1>";
220 _title =
"510 NOT_EXTENDED";
221 _body =
"<h1>510 NOT_EXTENDED</h1>";
226 _body =
"<h1>Unknown Error</h1>";
232 va_start(args, format);
234 if (vasprintf(&tmp, format, args) != -1) {
235 _body += std::string(
"<br />\n<b>") + tmp +
"</b>\n";
Fawkes library namespace.
std::string _body
Body of the reply.
REQUESTED_RANGE_NOT_SATISFIABLE.
REQUEST_ENTITY_TOO_LARGE.
response_code_t
HTTP response code.
BANDWIDTH_LIMIT_EXCEEDED.
PROXY_AUTHENTICATION_REQUIRED.
HTTP_VERSION_NOT_SUPPORTED.