Simple HTTP Server with one page index.html stored inside MBED as char vector and javascript to update a table content
Fork of HTTP_SERVER by
Revision 6:4eb469f51570, committed 2016-11-26
- Comitter:
- aktk
- Date:
- Sat Nov 26 19:15:20 2016 +0000
- Parent:
- 5:dedbaa9c633b
- Child:
- 7:184c6f1ace94
- Commit message:
- fixed a bug;
Changed in this revision
HTTP_SERVER.cpp | Show annotated file Show diff for this revision Revisions of this file |
handlers/ResponseMessenger.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/HTTP_SERVER.cpp Sat Nov 26 18:54:10 2016 +0000 +++ b/HTTP_SERVER.cpp Sat Nov 26 19:15:20 2016 +0000 @@ -91,7 +91,7 @@ case 0: printf("(HTTP_SERVER) recieved buffer is empty.\r\n"); msger.setStatusLine(400, "No Request"); - if(msger.setHeaderField("Connection", "close"))printf("(HTTP_SERVER)buffer over flow @ ResponseMessenger"); + if(msger.setHeaderField("Connection", "Close"))printf("(HTTP_SERVER)buffer over flow @ ResponseMessenger"); httpmethod = NULL; filepath = NULL; http_ver = NULL; @@ -99,7 +99,7 @@ case -1: printf("(HTTP_SERVER) failed to read data from client.\r\n"); msger.setStatusLine(500, "Internal Server Error"); - if(msger.setHeaderField("Connection", "close"))printf("(HTTP_SERVER)buffer over flow @ ResponseMessenger"); + if(msger.setHeaderField("Connection", "Close"))printf("(HTTP_SERVER)buffer over flow @ ResponseMessenger"); httpmethod = NULL; filepath = NULL; http_ver = NULL; @@ -242,6 +242,9 @@ msger.resetHeader(); printf("(HTTP_SERVER) echo back done.\r\n"); } + if (strcmp(httpmethod, NULL) == 0 ) { + msger.sendHTTPResponse(tcpcon); + } printf("(HTTP_SERVER) Response to Request has done\r\n"); } printf("(HTTP_SERVER) close connection.\r\ntcp server is listening...\r\n");
--- a/handlers/ResponseMessenger.cpp Sat Nov 26 18:54:10 2016 +0000 +++ b/handlers/ResponseMessenger.cpp Sat Nov 26 19:15:20 2016 +0000 @@ -59,7 +59,7 @@ if(flag) { sprintf(header_field_line_buffer, "%s: %s\r\n", arg_field_name, arg_field_val); strcat(header_field_buffer, header_field_line_buffer); - printf("header field: \r\n%s\r\n", header_field_buffer); + printf("(RM) header field: \r\n%s\r\n", header_field_buffer); } // To be safe on the sage side header_field_buffer[HEADER_FIELDS_SIZE - 1] = '\0'; @@ -88,7 +88,7 @@ if(flag) { sprintf(header_field_line_buffer, "%s: %d\r\n", arg_field_name, arg_field_val); strcat(header_field_buffer, header_field_line_buffer); - printf("header field: \r\n%s\r\n", header_field_buffer); + printf("(RM) header field: \r\n%s\r\n", header_field_buffer); } // To be safe on the sage side header_field_buffer[HEADER_FIELDS_SIZE - 1] = '\0'; @@ -138,7 +138,7 @@ // // Header // - printf("[send]Header\r\n"); + printf("(RM) [send]Header\r\n"); // Status Line sprintf(buffer, "%s %d %s\r\n", http_ver, status_code, reason_phrase); buffer[MAX_BUFFER_SIZE - 1] = '\0'; @@ -150,7 +150,7 @@ // Blank line err_log = arg_connection.send_all("\r\n", strlen("\r\n")); if(err_log < 0) err_code = ((err_code << 1) | 1); - printf("[Header has sent]\r\n"); + printf("(RM) [Header has sent]\r\n"); //return error code return err_code << 2; @@ -175,7 +175,7 @@ // Body // if (arg_file.arrival() && status_code == 200) { - printf("[send]Body\r\n"); + printf("(RM) [send]Body\r\n"); do { int i = 0; do { @@ -185,17 +185,17 @@ buffer[i] = '\0'; if (!arg_file.hasError()) { err_log = arg_connection.send_all((char*)buffer, i); - //printf("buffer log: %s", buffer); + //printf("(RM) buffer log: %s", buffer); } - if (arg_file.hasError()) printf("\r\n[ERR][ERR][ERR]\r\n"); - if (arg_file.atEOF()) printf("\r\n[EOF][EOF][EOF]\r\n"); + if (arg_file.hasError()) printf("(RM) \r\n[ERR][ERR][ERR]\r\n"); + if (arg_file.atEOF()) printf("(RM) \r\n[EOF][EOF][EOF]\r\n"); } while (!arg_file.atEOF() && !arg_file.hasError()); - printf("[Body has sent]\r\n"); + printf("(RM) [Body has sent]\r\n"); if (err_log < 0) err_code = ((err_code) | 2); if (!arg_file.hasError())err_code = ((err_code) | 1); } else { - printf("[No Body]\r\n"); + printf("(RM) [No Body]\r\n"); } return (char)err_code; } \ No newline at end of file