diff options
author | Pixel <pixel@nobis-crew.org> | 2011-12-08 08:20:07 -0800 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2011-12-08 08:21:09 -0800 |
commit | 69efca1a157245b35cd80a09718f45b30412dcea (patch) | |
tree | e4559bdbefc4d76b3b2c6b411c45f2073f3b6e5e /src | |
parent | aec08e7e3a8cf646463d45f61d2e546d3223aa3c (diff) |
Moving the HTTP status messages out of the HTTP server, and into its own file. Also making it complete.
Diffstat (limited to 'src')
-rw-r--r-- | src/Http.cc | 47 | ||||
-rw-r--r-- | src/HttpServer.cc | 20 |
2 files changed, 50 insertions, 17 deletions
diff --git a/src/Http.cc b/src/Http.cc new file mode 100644 index 0000000..85adbfc --- /dev/null +++ b/src/Http.cc @@ -0,0 +1,47 @@ +#include "Http.h" + +const char * Balau::Http::getStatusMsg(int httpStatus) { + switch (httpStatus) { + case 100: return "Continue"; + case 101: return "Switching Protocols"; + case 200: return "OK"; + case 201: return "Created"; + case 202: return "Accepted"; + case 203: return "Non-Authoritative Information"; + case 204: return "No Content"; + case 205: return "Reset Content"; + case 206: return "Partial Content"; + case 300: return "Multiple Choices"; + case 301: return "Moved Permanently"; + case 302: return "Found"; + case 303: return "See Other"; + case 304: return "Not Modified"; + case 305: return "Use Proxy"; + case 307: return "Temporary Redirect"; + case 400: return "Bad Request"; + case 401: return "Unauthorized"; + case 402: return "Payment Required"; + case 403: return "Forbidden"; + case 404: return "Not Found"; + case 405: return "Method Not Allowed"; + case 406: return "Not Acceptable"; + case 407: return "Proxy Authentication Required"; + case 408: return "Request Timeout"; + case 409: return "Conflict"; + case 410: return "Gone"; + case 411: return "Length Required"; + case 412: return "Precondition Failed"; + case 413: return "Request Entity Too Large"; + case 414: return "Request-URI Too Long"; + case 415: return "Unsupported Media Type"; + case 416: return "Requested Range Not Satisfiable"; + case 417: return "Expectation Failed"; + case 500: return "Internal Error"; + case 501: return "Not Implemented"; + case 502: return "Bad Gateway"; + case 503: return "Service Unavailable"; + case 504: return "Gateway Timeout"; + case 505: return "HTTP Version Not Supported"; + } + return NULL; +} diff --git a/src/HttpServer.cc b/src/HttpServer.cc index ee6919b..1268c7b 100644 --- a/src/HttpServer.cc +++ b/src/HttpServer.cc @@ -176,25 +176,11 @@ void Balau::HttpWorker::readVariables(Http::StringMap & variables, char * str) { } while (ampPos); } -static const char * getErrorMsg(int httpError) { - switch (httpError) { - case 400: - return "Bad Request"; - case 403: - return "Forbidden"; - case 404: - return "Not Found"; - case 405: - return "Method Not Allowed"; - case 500: - default: - return "Internal Error"; - } -} - void Balau::HttpWorker::sendError(int error, const char * msg, const char * details, bool closeConnection, std::vector<String> extraHeaders, std::vector<String> trace) { SimpleMustache * tpl = &m_errorTemplate; - const char * errorMsg = getErrorMsg(error); + const char * errorMsg = Http::getStatusMsg(error); + if (!errorMsg) + errorMsg = "Unknown Status"; Printer::elog(Balau::E_HTTPSERVER, "%s caused a %i error (%s)", m_name.to_charp(), error, errorMsg); SimpleMustache::Context ctx; String title; |