| #include "http-status.h" |
| |
| /* //////////////////////////////////////////////////////////// |
| This is a status code map that takes common codes and returns a string. |
| //////////////////////////////////////////////////////////// */ |
| |
| struct Pair { |
| int i_status; |
| char* s_status; |
| }; |
| |
| static struct Pair List[] = {{100, "Continue"}, |
| {101, "Switching Protocols"}, |
| {102, "Processing"}, |
| {200, "OK"}, |
| {201, "Created"}, |
| {202, "Accepted"}, |
| {203, "Non-Authoritative Information"}, |
| {204, "No Content"}, |
| {205, "Reset Content"}, |
| {206, "Partial Content"}, |
| {207, "Multi-Status"}, |
| {208, "Already Reported"}, |
| {226, "IM Used"}, |
| {300, "Multiple Choices"}, |
| {301, "Moved Permanently"}, |
| {302, "Found"}, |
| {303, "See Other"}, |
| {304, "Not Modified"}, |
| {305, "Use Proxy"}, |
| {306, "(Unused) "}, |
| {307, "Temporary Redirect"}, |
| {308, "Permanent Redirect"}, |
| {400, "Bad Request"}, |
| {401, "Unauthorized"}, |
| {402, "Payment Required"}, |
| {403, "Forbidden"}, |
| {404, "Not Found"}, |
| {405, "Method Not Allowed"}, |
| {406, "Not Acceptable"}, |
| {407, "Proxy Authentication Required"}, |
| {408, "Request Timeout"}, |
| {409, "Conflict"}, |
| {410, "Gone"}, |
| {411, "Length Required"}, |
| {412, "Precondition Failed"}, |
| {413, "Payload Too Large"}, |
| {414, "URI Too Long"}, |
| {415, "Unsupported Media Type"}, |
| {416, "Range Not Satisfiable"}, |
| {417, "Expectation Failed"}, |
| {421, "Misdirected Request"}, |
| {422, "Unprocessable Entity"}, |
| {423, "Locked"}, |
| {424, "Failed Dependency"}, |
| {425, "Unassigned"}, |
| {426, "Upgrade Required"}, |
| {427, "Unassigned"}, |
| {428, "Precondition Required"}, |
| {429, "Too Many Requests"}, |
| {430, "Unassigned"}, |
| {431, "Request Header Fields Too Large"}, |
| {500, "Internal Server Error"}, |
| {501, "Not Implemented"}, |
| {502, "Bad Gateway"}, |
| {503, "Service Unavailable"}, |
| {504, "Gateway Timeout"}, |
| {505, "HTTP Version Not Supported"}, |
| {506, "Variant Also Negotiates"}, |
| {507, "Insufficient Storage"}, |
| {508, "Loop Detected"}, |
| {509, "Unassigned"}, |
| {510, "Not Extended"}, |
| {511, "Network Authentication Required"}, |
| {0, 0}}; |
| |
| static char* to_s(int status) { |
| int pos = 0; |
| while (List[pos].i_status) { |
| if (List[pos].i_status == status) |
| return List[pos].s_status; |
| pos++; |
| } |
| return 0; |
| } |
| struct HttpStatus_API____ HttpStatus = {.to_s = to_s}; |