diff options
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; | 
