Renamed the injectApiHeader to sendHTTPHeader and cleaned it, also did other improvements
This commit is contained in:
parent
847b350f82
commit
651d0ee060
@ -48,15 +48,11 @@ class WEBServer : public TCPServer<T>, public HttpConstants
|
||||
}
|
||||
|
||||
//Helper function used for the webApi
|
||||
static void injectApiHeader(char *header, const char *contentType, const char *content)
|
||||
static void sendHTTPHeader(WiFiClient *client, const char *contentType, const size_t contentLength, HttpVersion version = HttpVersion::HTTP_1_1, HTTP_CODE HTTPCode = HTTP_CODE::HTTP_CODE_OK)
|
||||
{
|
||||
char *buffer = (char *)malloc(sizeof(char) * strlen(content) + 1);
|
||||
if(buffer != NULL)
|
||||
{
|
||||
strcpy(buffer, content);
|
||||
sprintf(header,"HTTP/1.1 200 OK\r\nContent-Type: %s\r\nContent-Length: %d\r\n\r\n%s",contentType,strlen(buffer), buffer);
|
||||
free(buffer);
|
||||
}
|
||||
if(!client) return;
|
||||
(void)HTTPCode;
|
||||
client->printf("%s 200 OK\r\nContent-Type: %s\r\nContent-Length: %d\r\n\r\n", httpVersionToString(version), contentType, contentLength);
|
||||
}
|
||||
|
||||
void setWWWDir(const char *WWWDir)
|
||||
@ -666,47 +662,18 @@ class WEBServer : public TCPServer<T>, public HttpConstants
|
||||
else return UNKNOWN_MIME;
|
||||
}
|
||||
|
||||
static char *getHTTPHeader(HttpMIMEType httpMIMEType, size_t size)
|
||||
static char *getHTTPHeader(HttpMIMEType httpMIMEType, const size_t size)
|
||||
{
|
||||
char *header = (char *) malloc(sizeof(char) /*strlen("HTTP/1.1 200 OK\r\nContent-Type: \r\nContent-Length: \r\nCache-Control: max-age=31536000\r\n\r\n")*/* (86 + 255/*Longest MIME-TYPE that RFC allows*/ + 10 /*Max unsigned long footprint*/ + 1));
|
||||
|
||||
switch(httpMIMEType)
|
||||
{
|
||||
case TEXT_HTML:
|
||||
injectHeaderLayout(header,"text/html", size);
|
||||
break;
|
||||
case TEXT_CSS:
|
||||
injectHeaderLayout(header,"text/css", size);
|
||||
break;
|
||||
case TEXT_JAVASCRIPT:
|
||||
injectHeaderLayout(header,"text/javascript", size);
|
||||
break;
|
||||
case IMAGE_PNG:
|
||||
injectHeaderLayout(header,"image/png", size);
|
||||
break;
|
||||
case IMAGE_JPEG:
|
||||
injectHeaderLayout(header,"image/jpeg", size);
|
||||
break;
|
||||
case TEXT_PLAIN:
|
||||
injectHeaderLayout(header,"text/plain", size);
|
||||
break;
|
||||
case AUDIO_MPEG:
|
||||
injectHeaderLayout(header,"audio/mpeg", size);
|
||||
break;
|
||||
case APPLICATION_OCTET_STREAM:
|
||||
injectHeaderLayout(header,"application/octet-stream", size);
|
||||
break;
|
||||
default:
|
||||
injectHeaderLayout(header,"application/octet-stream", size);
|
||||
break;
|
||||
}
|
||||
|
||||
injectHeaderLayout(header, httpMIMETypeToString(httpMIMEType), size);
|
||||
|
||||
return header;
|
||||
}
|
||||
|
||||
static void injectHeaderLayout(char *header, const char *contentType, size_t size)
|
||||
static void injectHeaderLayout(char *header, const char *contentType, const size_t size)
|
||||
{
|
||||
sprintf(header,"HTTP/1.1 200 OK\r\nContent-Type: %s\r\nContent-Length: %u\r\nCache-Control: max-age=31536000\r\n\r\n",contentType,size);
|
||||
sprintf(header,"HTTP/1.1 200 OK\r\nContent-Type: %s\r\nContent-Length: %u\r\nCache-Control: max-age=31536000\r\n\r\n", contentType, size);
|
||||
}
|
||||
|
||||
static char *getFileExtension(char *name)
|
||||
|
Loading…
Reference in New Issue
Block a user