Added new helper functions

This commit is contained in:
anschrammh 2019-12-28 14:04:50 +01:00
parent 2d73921bc7
commit ea60399ea3

View File

@ -6,8 +6,87 @@ class HttpConstants
public: public:
enum HttpRequestMethod {UNDEFINED, GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH}; enum HttpRequestMethod {UNDEFINED, GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH};
enum HttpVersion {UNKNOWN, HTTP_0_9, HTTP_1_1, HTTP_1_0, HTTP_2_0}; enum HttpVersion {UNKNOWN, HTTP_0_9, HTTP_1_1, HTTP_1_0, HTTP_2_0};
enum HttpMIMEType{UNKNOWN_MIME, TEXT_PLAIN, TEXT_CSS, TEXT_HTML, TEXT_JAVASCRIPT, APPLICATION_JSON, APPLICATION_X_WWW_FORM_URLENCODED, IMAGE_PNG, IMAGE_JPEG, AUDIO_MPEG, APPLICATION_OCTET_STREAM}; enum HttpMIMEType {UNKNOWN_MIME, TEXT_PLAIN, TEXT_CSS, TEXT_HTML, TEXT_JAVASCRIPT, APPLICATION_JSON, APPLICATION_X_WWW_FORM_URLENCODED, IMAGE_PNG, IMAGE_JPEG, AUDIO_MPEG, APPLICATION_OCTET_STREAM};
enum HTTP_CODE {UNDEFINED_CODE, _100, _101, _200, _400, _401, _403, _404, _405, _500, _501}; enum HTTP_CODE {UNDEFINED_CODE, _100, _101, _200, _400, _401, _403, _404, _405, _500, _501};
static char *httpVersionToString(HttpVersion v, char *buffer)
{
if(buffer == NULL)return NULL;
switch(v)
{
case HttpVersion::HTTP_0_9:
strcpy_P(buffer, PSTR("HTTP/0.9"));
break;
case HttpVersion::HTTP_1_1:
strcpy_P(buffer, PSTR("HTTP/1.1"));
break;
case HttpVersion::HTTP_1_0:
strcpy_P(buffer, PSTR("HTTP/1.0"));
break;
case HttpVersion::HTTP_2_0:
strcpy_P(buffer, PSTR("HTTP/2.0"));
break;
default:
strcpy_P(buffer, PSTR("HTTP/1.1"));
break;
}
return buffer;
}
static char *httpMIMETypeToString(HttpMIMEType m, char *buffer)
{
if(buffer == NULL)return NULL;
switch(m)
{
case HttpMIMEType::TEXT_PLAIN:
sprintf_P(buffer, PSTR("text/plain"));
break;
case HttpMIMEType::APPLICATION_JSON:
sprintf_P(buffer, PSTR("application/json"));
break;
case HttpMIMEType::APPLICATION_X_WWW_FORM_URLENCODED:
sprintf_P(buffer, PSTR("application/x-www-form-urlencoded"));
break;
default:
sprintf_P(buffer, PSTR("text/plain"));
break;
}
return buffer;
}
static HTTP_CODE numberToHTTP_CODE(uint32_t code)
{
switch(code)
{
case 100:
return HTTP_CODE::_100;
case 101:
return HTTP_CODE::_101;
case 200:
return HTTP_CODE::_200;
case 400:
return HTTP_CODE::_400;
case 401:
return HTTP_CODE::_401;
case 403:
return HTTP_CODE::_403;
case 404:
return HTTP_CODE::_404;
case 405:
return HTTP_CODE::_405;
case 500:
return HTTP_CODE::_500;
case 501:
return HTTP_CODE::_501;
default :
return HTTP_CODE::UNDEFINED_CODE;
}
}
protected: protected:
private: private:
}; };