Compiles now.

This commit is contained in:
Brad Arant 2020-10-24 19:15:29 -07:00
parent 26fb03572f
commit 8d971c1545
6 changed files with 20 additions and 16 deletions

View File

@ -15,14 +15,14 @@ namespace http {
switch(mode) { switch(mode) {
case REQUEST: case REQUEST:
httpRequest = new HTTPRequest(request1); httpRequest = new HTTPRequest(request1);
session->server.commands.grabInput(session, *this); session->server.commands.grabInput(session, *this);
mode = IMF; mode = IMF;
break; break;
case IMF: case IMF:
httpRequest->parse(request1); httpRequest->parse(request1);
if(request == "") { if(request == "") {
session->server.commands.clearGrab(session); session->server.commands.clearGrab(session);
mode = REQUEST; mode = REQUEST;
processHTTPRequest(session, data); processHTTPRequest(session, data);
@ -34,7 +34,7 @@ namespace http {
bool HTTPHandler::processHTTPRequest(core::TCPSession *session, std::stringstream &data) { bool HTTPHandler::processHTTPRequest(core::TCPSession *session, std::stringstream &data) {
HTTPSession *httpSession = static_cast<HTTPServer &>(session->server).httpSessions.findSessionByHeader(httpRequest); HTTPSession *httpSession = static_cast<HTTPServer&>(session->server).httpSessions.findSessionByHeader(httpRequest);
std::stringstream content; std::stringstream content;

View File

@ -4,6 +4,7 @@
#include "Command.h" #include "Command.h"
#include "TCPSession.h" #include "TCPSession.h"
#include "Log.h" #include "Log.h"
#include "IMFMessage.h"
#include "HTTPRequest.h" #include "HTTPRequest.h"
namespace http { namespace http {

View File

@ -3,10 +3,10 @@
namespace http { namespace http {
bool HTTPPageList::processRequest(HTTPRequest *httpRequest, core::TCPSession *session, HTTPSession *httpSession, std::stringstream &data) { bool HTTPPageList::processRequest(HTTPRequest *httpRequest, core::TCPSession *session, HTTPSession *httpSession, std::stringstream &data) {
httpRequest->response.setProtocol(httpRequest->request.getProtocol()); httpRequest->response.setProtocol(httpRequest->request->getProtocol());
for(auto *page : pages) { for(auto *page : pages) {
if(page->check(httpRequest->request.getURI())) { if(page->check(httpRequest->request->getURI())) {
return page->processCommand(httpRequest->request.getURI(), session, httpSession, httpRequest, data); return page->processCommand(httpRequest->request->getURI(), session, httpSession, httpRequest, data);
} }
} }
return false; return false;

View File

@ -13,14 +13,17 @@ namespace http {
class HTTPRequest : public coreutils::IMFMessage { class HTTPRequest : public coreutils::IMFMessage {
public: public:
HTTPRequest(coreutils::PString &in); HTTPRequest(coreutils::PString &in) : IMFMessage(in) {
message = new IMFMessage(in);
}
bool parse(coreutils::PString &in) {
message->parse(in);
return true;
}
coreutils::IMFRequest request; coreutils::IMFRequest *request;
coreutils::IMFMessage *message;
coreutils::IMFResponse response; coreutils::IMFResponse response;
private:
std::string key;
std::string value;
}; };

BIN
HTTPServer Executable file

Binary file not shown.

BIN
core

Binary file not shown.