diff --git a/src/HTTP.cpp b/src/HTTP.cpp index 2a22132..988f113 100644 --- a/src/HTTP.cpp +++ b/src/HTTP.cpp @@ -6,14 +6,27 @@ void HTTPrequest::start() { } void HTTPrequest::readData() { - std::shared_ptr self(shared_from_this()); - // // Reading happens here // + std::shared_ptr self(shared_from_this()); + sock.async_read_some( + buffer.prepare(1024), + [this, self](std::error_code error, std::size_t packageSize) { + if (!error) { + buffer.commit(packageSize); + std::istream stream(&buffer); + std::string request(packageSize, '\0'); + stream.read(request.data(), packageSize); + + std::cout << request << std::endl; + + readData(); + } + }); } -void HTTPrequest::processRequest(std::error_code ec, std::size_t size) { +void HTTPrequest::processRequest(std::string request) { // // This is where we will process requests // diff --git a/src/main.hpp b/src/main.hpp index cd2f633..bdf707b 100644 --- a/src/main.hpp +++ b/src/main.hpp @@ -12,6 +12,9 @@ #include #include +#include +#include +#include #define IP "127.0.0.1" #define PORT 8000 @@ -31,7 +34,7 @@ public: private: HTTPrequest(asio::io_context &context); void readData(); - void processRequest(std::error_code ec, std::size_t size); + void processRequest(std::string request); void writeData(std::string data); asio::ip::tcp::socket sock;