Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of HTTP_SERVER by
Diff: HTTP_SERVER.cpp
- Revision:
- 16:c3920b5b8572
- Parent:
- 15:9b2cfbaf1c12
- Child:
- 17:ce5845164001
--- a/HTTP_SERVER.cpp Fri Mar 16 23:17:28 2018 +0000
+++ b/HTTP_SERVER.cpp Mon Mar 19 09:25:32 2018 +0000
@@ -1,8 +1,8 @@
#include "HTTP_SERVER.h"
#include "string"
-#ifndef HTTP_SERVER_DEBUG
+//#ifndef HTTP_SERVER_DEBUG
#define HTTP_SERVER_DEBUG
-#endif
+//#endif
/*
LOG:
"sys_thread_new number error" is occurred when an instance of this class is instantiated in main() in main.cpp
@@ -25,7 +25,7 @@
char req_buf[1024] was not uesed anywhere...
so it was deleted.
-bool deep-alive was also not uesed so deleted it.
+bool keep-alive was also not uesed so deleted it.
After doing those above, the error massage was DERAYED but
it even now occur.
@@ -151,7 +151,7 @@
while (socket_connection) {
printf("(HTTP_SERVER) connected\r\n");
- char buffer[256] = {0};
+ char buffer[1024] = {0};
char* httpmethod = NULL;
char* filepath = NULL;
char* http_ver = NULL;
@@ -161,7 +161,11 @@
//
// Request Analysis
//
- analyzeRequest(buffer, 255, httpmethod, filepath, http_ver);
+ printf("(HTTP_SERVER) Request Analysis\r\n");
+ analyzeRequest(buffer, 1023, httpmethod, filepath, http_ver);
+ DEBUG_PRINT_LINE("httpmethod: %s", httpmethod);
+ DEBUG_PRINT_LINE("file path: %s", filepath);
+ DEBUG_PRINT_LINE("http ver : %s", http_ver);
//
// Response
//
@@ -181,7 +185,7 @@
}
-bool HttpServer::analyzeRequest(char* buffer, int buffer_size, char* httpmethod, char* filepath, char* http_ver)
+bool HttpServer::analyzeRequest(char* buffer, int buffer_size, char* &httpmethod, char* &filepath, char* &http_ver)
{
DEBUG_PRINT_LINE("Request Analysis");
@@ -212,22 +216,20 @@
httpmethod = strtok(buffer," ");
filepath = strtok(NULL, " ");
http_ver = strtok(NULL, "\r\n");
- DEBUG_PRINT_LINE("httpmethod: %s", httpmethod);
- DEBUG_PRINT_LINE("file path: %s", filepath);
- DEBUG_PRINT_LINE("http ver : %s", http_ver);
break;
}
return true;
}
-bool HttpServer::sendResponse(char* httpmethod, char*filepath, char* http_ver)
+bool HttpServer::sendResponse(char* httpmethod, char* filepath, char* http_ver)
{
if (strcmp(httpmethod,"GET") == 0 ) {
DEBUG_PRINT_LINE("GET request incomming.");
// file calibration
DEBUG_PRINT_LINE("file opening");
- fhndl.open(filepath,"rb");
+ DEBUG_PRINT_LINE("filepath: %s", filepath);
+ fhndl.open(filepath,"rb");/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(fhndl.arrival()) {
msger.setStatusLine(200, "OK");
if(msger.setHeaderField("Content-Length", fhndl.getFileSize())) DEBUG_PRINT_LINE("buffer over flow @ ResponseMessenger");
@@ -278,4 +280,6 @@
socket_connection = false;
}
printf("(HTTP_SERVER) Response to Request has done\r\n");
+
+ return true;
}
