75 lines
1.9 KiB
C
75 lines
1.9 KiB
C
#include "status_codes.h"
|
|
#include <stdlib.h>
|
|
|
|
const char *STATUS_CODES_100[] = {
|
|
"Continue",
|
|
"Switching Protocols"
|
|
};
|
|
|
|
const char *STATUS_CODES_200[] = {
|
|
"OK",
|
|
"Created",
|
|
"Accepted",
|
|
"Non-Authoritative Information",
|
|
"No Content",
|
|
"Reset Content",
|
|
"Partial Content",
|
|
};
|
|
|
|
const char *STATUS_CODES_300[] = {
|
|
"Multiple Choices",
|
|
"Moved Permanently",
|
|
"Found",
|
|
"See Other",
|
|
"Not Modified",
|
|
"Use Proxy",
|
|
NULL, // There is no status code 306
|
|
"Temporary Redirect",
|
|
};
|
|
|
|
const char *STATUS_CODES_400[] = {
|
|
"Bad Request",
|
|
"Unauthorized",
|
|
"Payment Required",
|
|
"Forbidden",
|
|
"Not Found",
|
|
"Method Not Allowed",
|
|
"Not Acceptable",
|
|
"Proxy Authentication Required",
|
|
"Request Time-out",
|
|
"Conflict",
|
|
"Gone",
|
|
"Length Required",
|
|
"Precondition Failed",
|
|
"Request Entity Too Large",
|
|
"Request-URI Too Large",
|
|
"Unsupported Media Type",
|
|
"Requested range not satisfiable",
|
|
"Expectation Failed",
|
|
};
|
|
|
|
const char *STATUS_CODES_500[] = {
|
|
"Internal Server Error",
|
|
"Not Implemented",
|
|
"Bad Gateway",
|
|
"Service Unavailable",
|
|
"Gateway Time-out",
|
|
"HTTP Version not supported",
|
|
};
|
|
|
|
const char *get_message_from_status_code(int status_code) {
|
|
if (status_code >= 100 && status_code < 100 + NUM_100_STATUS_CODES) {
|
|
return STATUS_CODES_100[status_code - 100];
|
|
} else if (status_code >= 200 && status_code < 200 + NUM_200_STATUS_CODES) {
|
|
return STATUS_CODES_200[status_code - 200];
|
|
} else if (status_code >= 300 && status_code < 300 + NUM_300_STATUS_CODES) {
|
|
return STATUS_CODES_300[status_code - 300];
|
|
} else if (status_code >= 400 && status_code < 400 + NUM_400_STATUS_CODES) {
|
|
return STATUS_CODES_400[status_code - 400];
|
|
} else if (status_code >= 500 && status_code < 500 + NUM_500_STATUS_CODES) {
|
|
return STATUS_CODES_500[status_code - 500];
|
|
}
|
|
|
|
return NULL;
|
|
}
|