feat(http): implement HTTP server with CLI, request, response, and session

handling
This commit is contained in:
Ваше Имя
2025-09-30 18:34:14 +04:00
parent ba91359db3
commit 9d0a5193a5
13 changed files with 528 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
#pragma once
#include <string>
#include <unordered_map>
class HttpRequest
{
public:
HttpRequest() = default;
void setMethod(const std::string_view method);
const std::string getMethod() const;
void setPath(const std::string_view path);
const std::string getPath() const;
void setVersion(const std::string_view version);
const std::string getVersion() const;
void addHeader(const std::string_view key, const std::string_view value);
bool hasHeader(const std::string_view key) const;
std::string getHeader(const std::string_view key) const;
const std::unordered_map<std::string, std::string> &getHeaders() const;
void setBody(const std::string_view body);
const std::string getBody() const;
private:
std::string method_; // GET, POST
std::string path_; // /index.html
std::string version_; // HTTP/1.1
std::unordered_map<std::string, std::string> headers_;
std::string body_;
};