Added new mime types to string as well as simplified the httpMIMETypeToString method
This commit is contained in:
parent
7f08d8a838
commit
4c7fc2ea2a
@ -1,12 +1,24 @@
|
|||||||
#ifndef HTTPCONSTANTS_H
|
#ifndef HTTPCONSTANTS_H
|
||||||
#define HTTPCONSTANTS_H
|
#define HTTPCONSTANTS_H
|
||||||
|
|
||||||
|
#define HTTPCONSTANTS_STRING //PSTR
|
||||||
|
|
||||||
class HttpConstants
|
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 {
|
enum HTTP_CODE {
|
||||||
UNDEFINED_CODE = 0,
|
UNDEFINED_CODE = 0,
|
||||||
HTTP_CODE_CONTINUE = 100,
|
HTTP_CODE_CONTINUE = 100,
|
||||||
@ -69,53 +81,60 @@ class HttpConstants
|
|||||||
HTTP_CODE_NETWORK_AUTHENTICATION_REQUIRED = 511
|
HTTP_CODE_NETWORK_AUTHENTICATION_REQUIRED = 511
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *httpVersionToString(HttpVersion v, char *buffer)
|
static const char *httpVersionToString(HttpVersion version)
|
||||||
{
|
{
|
||||||
if(buffer == NULL)return NULL;
|
switch(version)
|
||||||
|
|
||||||
switch(v)
|
|
||||||
{
|
{
|
||||||
case HttpVersion::HTTP_0_9:
|
case HttpVersion::HTTP_0_9:
|
||||||
strcpy_P(buffer, PSTR("HTTP/0.9"));
|
return HTTPCONSTANTS_STRING("HTTP/0.9");
|
||||||
break;
|
|
||||||
case HttpVersion::HTTP_1_1:
|
|
||||||
strcpy_P(buffer, PSTR("HTTP/1.1"));
|
|
||||||
break;
|
break;
|
||||||
case HttpVersion::HTTP_1_0:
|
case HttpVersion::HTTP_1_0:
|
||||||
strcpy_P(buffer, PSTR("HTTP/1.0"));
|
return HTTPCONSTANTS_STRING("HTTP/1.0");
|
||||||
break;
|
break;
|
||||||
case HttpVersion::HTTP_2_0:
|
case HttpVersion::HTTP_2_0:
|
||||||
strcpy_P(buffer, PSTR("HTTP/2.0"));
|
return HTTPCONSTANTS_STRING("HTTP/2.0");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
strcpy_P(buffer, PSTR("HTTP/1.1"));
|
return HTTPCONSTANTS_STRING("HTTP/1.1");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return buffer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *httpMIMETypeToString(HttpMIMEType m, char *buffer)
|
static const char *httpMIMETypeToString(HttpMIMEType m)
|
||||||
{
|
{
|
||||||
if(buffer == NULL)return NULL;
|
|
||||||
|
|
||||||
switch(m)
|
switch(m)
|
||||||
{
|
{
|
||||||
case HttpMIMEType::TEXT_PLAIN:
|
case HttpMIMEType::TEXT_PLAIN:
|
||||||
sprintf_P(buffer, PSTR("text/plain"));
|
return HTTPCONSTANTS_STRING("text/plain");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::TEXT_CSS:
|
||||||
|
return HTTPCONSTANTS_STRING("text/css");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::TEXT_HTML:
|
||||||
|
return HTTPCONSTANTS_STRING("text/html");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::TEXT_JAVASCRIPT:
|
||||||
|
return HTTPCONSTANTS_STRING("text/javascript");
|
||||||
break;
|
break;
|
||||||
case HttpMIMEType::APPLICATION_JSON:
|
case HttpMIMEType::APPLICATION_JSON:
|
||||||
sprintf_P(buffer, PSTR("application/json"));
|
return HTTPCONSTANTS_STRING("application/json");
|
||||||
break;
|
break;
|
||||||
case HttpMIMEType::APPLICATION_X_WWW_FORM_URLENCODED:
|
case HttpMIMEType::APPLICATION_X_WWW_FORM_URLENCODED:
|
||||||
sprintf_P(buffer, PSTR("application/x-www-form-urlencoded"));
|
return HTTPCONSTANTS_STRING("application/x-www-form-urlencoded");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::IMAGE_PNG:
|
||||||
|
return HTTPCONSTANTS_STRING("image/png");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::IMAGE_JPEG:
|
||||||
|
return HTTPCONSTANTS_STRING("image/jpeg");
|
||||||
|
break;
|
||||||
|
case HttpMIMEType::AUDIO_MPEG:
|
||||||
|
return HTTPCONSTANTS_STRING("audio/mpeg");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sprintf_P(buffer, PSTR("text/plain"));
|
return HTTPCONSTANTS_STRING("application/octet-stream");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return buffer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
Loading…
Reference in New Issue
Block a user