23 #include <core/exceptions/software.h>
24 #include <webview/error_reply.h>
44 if (((
int)
code < 400) || ((
int)
code > 599)) {
50 _title =
"400 BAD_REQUEST";
51 _body =
"<h1>400 BAD_REQUEST</h1>";
55 _title =
"401 UNAUTHORIZED";
56 _body =
"<h1>401 UNAUTHORIZED</h1>";
60 _title =
"402 PAYMENT_REQUIRED";
61 _body =
"<h1>402 PAYMENT_REQUIRED</h1>";
66 _body =
"<h1>403 FORBIDDEN</h1>";
71 _body =
"<h1>404 NOT_FOUND</h1>";
75 _title =
"405 METHOD_NOT_ALLOWED";
76 _body =
"<h1>405 METHOD_NOT_ALLOWED</h1>";
80 _title =
"406 METHOD_NOT_ACCEPTABLE";
81 _body =
"<h1>406 METHOD_NOT_ACCEPTABLE</h1>";
85 _title =
"407 PROXY_AUTHENTICATION_REQUIRED";
86 _body =
"<h1>407 PROXY_AUTHENTICATION_REQUIRED</h1>";
90 _title =
"408 REQUEST_TIMEOUT";
91 _body =
"<h1>408 REQUEST_TIMEOUT</h1>";
96 _body =
"<h1>409 CONFLICT</h1>";
101 _body =
"<h1>410 GONE</h1>";
105 _title =
"411 LENGTH_REQUIRED";
106 _body =
"<h1>411 LENGTH_REQUIRED</h1>";
110 _title =
"412 PRECONDITION_FAILED";
111 _body =
"<h1>412 PRECONDITION_FAILED</h1>";
115 _title =
"413 REQUEST_ENTITY_TOO_LARGE";
116 _body =
"<h1>413 REQUEST_ENTITY_TOO_LARGE</h1>";
120 _title =
"414 REQUEST_URI_TOO_LONG";
121 _body =
"<h1>414 REQUEST_URI_TOO_LONG</h1>";
125 _title =
"415 UNSUPPORTED_MEDIA_TYPE";
126 _body =
"<h1>415 UNSUPPORTED_MEDIA_TYPE</h1>";
130 _title =
"416 REQUESTED_RANGE_NOT_SATISFIABLE";
131 _body =
"<h1>416 REQUESTED_RANGE_NOT_SATISFIABLE</h1>";
135 _title =
"417 EXPECTATION_FAILED";
136 _body =
"<h1>417 EXPECTATION_FAILED</h1>";
140 _title =
"422 UNPROCESSABLE_ENTITY";
141 _body =
"<h1>422 UNPROCESSABLE_ENTITY</h1>";
146 _body =
"<h1>423 LOCKED</h1>";
150 _title =
"424 FAILED_DEPENDENCY";
151 _body =
"<h1>424 FAILED_DEPENDENCY</h1>";
155 _title =
"425 UNORDERED_COLLECTION";
156 _body =
"<h1>425 UNORDERED_COLLECTION</h1>";
160 _title =
"426 UPGRADE_REQUIRED";
161 _body =
"<h1>426 UPGRADE_REQUIRED</h1>";
165 _title =
"449 RETRY_WITH";
166 _body =
"<h1>449 RETRY_WITH</h1>";
170 _title =
"500 INTERNAL_SERVER_ERROR";
171 _body =
"<h1>500 INTERNAL_SERVER_ERROR</h1>";
175 _title =
"501 NOT_IMPLEMENTED";
176 _body =
"<h1>501 NOT_IMPLEMENTED</h1>";
180 _title =
"502 BAD_GATEWAY";
181 _body =
"<h1>502 BAD_GATEWAY</h1>";
185 _title =
"503 SERVICE_UNAVAILABLE";
186 _body =
"<h1>503 SERVICE_UNAVAILABLE</h1>";
190 _title =
"504 GATEWAY_TIMEOUT";
191 _body =
"<h1>504 GATEWAY_TIMEOUT</h1>";
195 _title =
"505 HTTP_VERSION_NOT_SUPPORTED";
196 _body =
"<h1>505 HTTP_VERSION_NOT_SUPPORTED</h1>";
200 _title =
"506 VARIANT_ALSO_NEGOTIATES";
201 _body =
"<h1>506 VARIANT_ALSO_NEGOTIATES</h1>";
205 _title =
"507 INSUFFICIENT_STORAGE";
206 _body =
"<h1>507 INSUFFICIENT_STORAGE</h1>";
210 _title =
"509 BANDWIDTH_LIMIT_EXCEEDED";
211 _body =
"<h1>509 BANDWIDTH_LIMIT_EXCEEDED</h1>";
215 _title =
"510 NOT_EXTENDED";
216 _body =
"<h1>510 NOT_EXTENDED</h1>";
221 _body =
"<h1>Unknown Error</h1>";
227 va_start(args, format);
229 if (vasprintf(&tmp, format, args) != -1) {
230 _body += std::string(
"<br />\n<b>") + tmp +
"</b>\n";
std::string _body
Body of the reply.
Code code() const
Get response code.
@ HTTP_UNAUTHORIZED
UNAUTHORIZED.
@ HTTP_BANDWIDTH_LIMIT_EXCEEDED
BANDWIDTH_LIMIT_EXCEEDED.
@ HTTP_UPGRADE_REQUIRED
UPGRADE_REQUIRED.
@ HTTP_UNPROCESSABLE_ENTITY
UNPROCESSABLE_ENTITY.
@ HTTP_PROXY_AUTHENTICATION_REQUIRED
PROXY_AUTHENTICATION_REQUIRED.
@ HTTP_REQUEST_TIMEOUT
REQUEST_TIMEOUT.
@ HTTP_METHOD_NOT_ALLOWED
METHOD_NOT_ALLOWED.
@ HTTP_UNSUPPORTED_MEDIA_TYPE
UNSUPPORTED_MEDIA_TYPE.
@ HTTP_VARIANT_ALSO_NEGOTIATES
VARIANT_ALSO_NEGOTIATES.
@ HTTP_EXPECTATION_FAILED
EXPECTATION_FAILED.
@ HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
REQUESTED_RANGE_NOT_SATISFIABLE.
@ HTTP_HTTP_VERSION_NOT_SUPPORTED
HTTP_VERSION_NOT_SUPPORTED.
@ HTTP_BAD_GATEWAY
BAD_GATEWAY.
@ HTTP_REQUEST_ENTITY_TOO_LARGE
REQUEST_ENTITY_TOO_LARGE.
@ HTTP_REQUEST_URI_TOO_LONG
REQUEST_URI_TOO_LONG.
@ HTTP_INTERNAL_SERVER_ERROR
INTERNAL_SERVER_ERROR.
@ HTTP_FORBIDDEN
FORBIDDEN.
@ HTTP_RETRY_WITH
RETRY_WITH.
@ HTTP_METHOD_NOT_ACCEPTABLE
METHOD_NOT_ACCEPTABLE.
@ HTTP_INSUFFICIENT_STORAGE
INSUFFICIENT_STORAGE.
@ HTTP_PAYMENT_REQUIRED
PAYMENT_REQUIRED.
@ HTTP_LENGTH_REQUIRED
LENGTH_REQUIRED.
@ HTTP_BAD_REQUEST
BAD_REQUEST.
@ HTTP_PRECONDITION_FAILED
PRECONDITION_FAILED.
@ HTTP_UNORDERED_COLLECTION
UNORDERED_COLLECTION.
@ HTTP_NOT_EXTENDED
NOT_EXTENDED.
@ HTTP_FAILED_DEPENDENCY
FAILED_DEPENDENCY.
@ HTTP_GATEWAY_TIMEOUT
GATEWAY_TIMEOUT.
@ HTTP_NOT_IMPLEMENTED
NOT_IMPLEMENTED.
@ HTTP_NOT_FOUND
NOT_FOUND.
@ HTTP_SERVICE_UNAVAILABLE
SERVICE_UNAVAILABLE.
Fawkes library namespace.