[core,gateway] add http_status_string

This commit is contained in:
akallabeth 2023-04-06 08:57:34 +02:00 committed by Martin Fleisz
parent 7739815a90
commit 8eec678710
2 changed files with 138 additions and 40 deletions

View File

@ -1153,3 +1153,92 @@ out:
free(base64accept);
return isWebsocket;
}
const char* http_status_string(long status)
{
switch (status)
{
case HTTP_STATUS_CONTINUE:
return "HTTP_STATUS_CONTINUE";
case HTTP_STATUS_SWITCH_PROTOCOLS:
return "HTTP_STATUS_SWITCH_PROTOCOLS";
case HTTP_STATUS_OK:
return "HTTP_STATUS_OK";
case HTTP_STATUS_CREATED:
return "HTTP_STATUS_CREATED";
case HTTP_STATUS_ACCEPTED:
return "HTTP_STATUS_ACCEPTED";
case HTTP_STATUS_PARTIAL:
return "HTTP_STATUS_PARTIAL";
case HTTP_STATUS_NO_CONTENT:
return "HTTP_STATUS_NO_CONTENT";
case HTTP_STATUS_RESET_CONTENT:
return "HTTP_STATUS_RESET_CONTENT";
case HTTP_STATUS_PARTIAL_CONTENT:
return "HTTP_STATUS_PARTIAL_CONTENT";
case HTTP_STATUS_WEBDAV_MULTI_STATUS:
return "HTTP_STATUS_WEBDAV_MULTI_STATUS";
case HTTP_STATUS_AMBIGUOUS:
return "HTTP_STATUS_AMBIGUOUS";
case HTTP_STATUS_MOVED:
return "HTTP_STATUS_MOVED";
case HTTP_STATUS_REDIRECT:
return "HTTP_STATUS_REDIRECT";
case HTTP_STATUS_REDIRECT_METHOD:
return "HTTP_STATUS_REDIRECT_METHOD";
case HTTP_STATUS_NOT_MODIFIED:
return "HTTP_STATUS_NOT_MODIFIED";
case HTTP_STATUS_USE_PROXY:
return "HTTP_STATUS_USE_PROXY";
case HTTP_STATUS_REDIRECT_KEEP_VERB:
return "HTTP_STATUS_REDIRECT_KEEP_VERB";
case HTTP_STATUS_BAD_REQUEST:
return "HTTP_STATUS_BAD_REQUEST";
case HTTP_STATUS_DENIED:
return "HTTP_STATUS_DENIED";
case HTTP_STATUS_PAYMENT_REQ:
return "HTTP_STATUS_PAYMENT_REQ";
case HTTP_STATUS_FORBIDDEN:
return "HTTP_STATUS_FORBIDDEN";
case HTTP_STATUS_NOT_FOUND:
return "HTTP_STATUS_NOT_FOUND";
case HTTP_STATUS_BAD_METHOD:
return "HTTP_STATUS_BAD_METHOD";
case HTTP_STATUS_NONE_ACCEPTABLE:
return "HTTP_STATUS_NONE_ACCEPTABLE";
case HTTP_STATUS_PROXY_AUTH_REQ:
return "HTTP_STATUS_PROXY_AUTH_REQ";
case HTTP_STATUS_REQUEST_TIMEOUT:
return "HTTP_STATUS_REQUEST_TIMEOUT";
case HTTP_STATUS_CONFLICT:
return "HTTP_STATUS_CONFLICT";
case HTTP_STATUS_GONE:
return "HTTP_STATUS_GONE";
case HTTP_STATUS_LENGTH_REQUIRED:
return "HTTP_STATUS_LENGTH_REQUIRED";
case HTTP_STATUS_PRECOND_FAILED:
return "HTTP_STATUS_PRECOND_FAILED";
case HTTP_STATUS_REQUEST_TOO_LARGE:
return "HTTP_STATUS_REQUEST_TOO_LARGE";
case HTTP_STATUS_URI_TOO_LONG:
return "HTTP_STATUS_URI_TOO_LONG";
case HTTP_STATUS_UNSUPPORTED_MEDIA:
return "HTTP_STATUS_UNSUPPORTED_MEDIA";
case HTTP_STATUS_RETRY_WITH:
return "HTTP_STATUS_RETRY_WITH";
case HTTP_STATUS_SERVER_ERROR:
return "HTTP_STATUS_SERVER_ERROR";
case HTTP_STATUS_NOT_SUPPORTED:
return "HTTP_STATUS_NOT_SUPPORTED";
case HTTP_STATUS_BAD_GATEWAY:
return "HTTP_STATUS_BAD_GATEWAY";
case HTTP_STATUS_SERVICE_UNAVAIL:
return "HTTP_STATUS_SERVICE_UNAVAIL";
case HTTP_STATUS_GATEWAY_TIMEOUT:
return "HTTP_STATUS_GATEWAY_TIMEOUT";
case HTTP_STATUS_VERSION_NOT_SUP:
return "HTTP_STATUS_VERSION_NOT_SUP";
default:
return "HTTP_STATUS_UNKNOWN";
}
}

View File

@ -26,50 +26,57 @@
#include "../../crypto/tls.h"
#define HTTP_STATUS_CONTINUE 100
#define HTTP_STATUS_SWITCH_PROTOCOLS 101
typedef enum
{
HTTP_STATUS_CONTINUE = 100,
HTTP_STATUS_SWITCH_PROTOCOLS = 101
#define HTTP_STATUS_OK 200
#define HTTP_STATUS_CREATED 201
#define HTTP_STATUS_ACCEPTED 202
#define HTTP_STATUS_PARTIAL 203
#define HTTP_STATUS_NO_CONTENT 204
#define HTTP_STATUS_RESET_CONTENT 205
#define HTTP_STATUS_PARTIAL_CONTENT 206
#define HTTP_STATUS_WEBDAV_MULTI_STATUS 207
,
HTTP_STATUS_OK = 200,
HTTP_STATUS_CREATED = 201,
HTTP_STATUS_ACCEPTED = 202,
HTTP_STATUS_PARTIAL = 203,
HTTP_STATUS_NO_CONTENT = 204,
HTTP_STATUS_RESET_CONTENT = 205,
HTTP_STATUS_PARTIAL_CONTENT = 206,
HTTP_STATUS_WEBDAV_MULTI_STATUS = 207
#define HTTP_STATUS_AMBIGUOUS 300
#define HTTP_STATUS_MOVED 301
#define HTTP_STATUS_REDIRECT 302
#define HTTP_STATUS_REDIRECT_METHOD 303
#define HTTP_STATUS_NOT_MODIFIED 304
#define HTTP_STATUS_USE_PROXY 305
#define HTTP_STATUS_REDIRECT_KEEP_VERB 307
,
HTTP_STATUS_AMBIGUOUS = 300,
HTTP_STATUS_MOVED = 301,
HTTP_STATUS_REDIRECT = 302,
HTTP_STATUS_REDIRECT_METHOD = 303,
HTTP_STATUS_NOT_MODIFIED = 304,
HTTP_STATUS_USE_PROXY = 305,
HTTP_STATUS_REDIRECT_KEEP_VERB = 307
#define HTTP_STATUS_BAD_REQUEST 400
#define HTTP_STATUS_DENIED 401
#define HTTP_STATUS_PAYMENT_REQ 402
#define HTTP_STATUS_FORBIDDEN 403
#define HTTP_STATUS_NOT_FOUND 404
#define HTTP_STATUS_BAD_METHOD 405
#define HTTP_STATUS_NONE_ACCEPTABLE 406
#define HTTP_STATUS_PROXY_AUTH_REQ 407
#define HTTP_STATUS_REQUEST_TIMEOUT 408
#define HTTP_STATUS_CONFLICT 409
#define HTTP_STATUS_GONE 410
#define HTTP_STATUS_LENGTH_REQUIRED 411
#define HTTP_STATUS_PRECOND_FAILED 412
#define HTTP_STATUS_REQUEST_TOO_LARGE 413
#define HTTP_STATUS_URI_TOO_LONG 414
#define HTTP_STATUS_UNSUPPORTED_MEDIA 415
#define HTTP_STATUS_RETRY_WITH 449
,
HTTP_STATUS_BAD_REQUEST = 400,
HTTP_STATUS_DENIED = 401,
HTTP_STATUS_PAYMENT_REQ = 402,
HTTP_STATUS_FORBIDDEN = 403,
HTTP_STATUS_NOT_FOUND = 404,
HTTP_STATUS_BAD_METHOD = 405,
HTTP_STATUS_NONE_ACCEPTABLE = 406,
HTTP_STATUS_PROXY_AUTH_REQ = 407,
HTTP_STATUS_REQUEST_TIMEOUT = 408,
HTTP_STATUS_CONFLICT = 409,
HTTP_STATUS_GONE = 410,
HTTP_STATUS_LENGTH_REQUIRED = 411,
HTTP_STATUS_PRECOND_FAILED = 412,
HTTP_STATUS_REQUEST_TOO_LARGE = 413,
HTTP_STATUS_URI_TOO_LONG = 414,
HTTP_STATUS_UNSUPPORTED_MEDIA = 415,
HTTP_STATUS_RETRY_WITH = 449
#define HTTP_STATUS_SERVER_ERROR 500
#define HTTP_STATUS_NOT_SUPPORTED 501
#define HTTP_STATUS_BAD_GATEWAY 502
#define HTTP_STATUS_SERVICE_UNAVAIL 503
#define HTTP_STATUS_GATEWAY_TIMEOUT 504
#define HTTP_STATUS_VERSION_NOT_SUP 505
,
HTTP_STATUS_SERVER_ERROR = 500,
HTTP_STATUS_NOT_SUPPORTED = 501,
HTTP_STATUS_BAD_GATEWAY = 502,
HTTP_STATUS_SERVICE_UNAVAIL = 503,
HTTP_STATUS_GATEWAY_TIMEOUT = 504,
HTTP_STATUS_VERSION_NOT_SUP = 505
} HTTP_STATUS;
typedef enum
{
@ -134,4 +141,6 @@ FREERDP_LOCAL const char* http_response_get_auth_token(HttpResponse* response, c
FREERDP_LOCAL TRANSFER_ENCODING http_response_get_transfer_encoding(HttpResponse* response);
FREERDP_LOCAL BOOL http_response_is_websocket(HttpContext* http, HttpResponse* response);
FREERDP_LOCAL const char* http_status_string(long status);
#endif /* FREERDP_LIB_CORE_GATEWAY_HTTP_H */