52 lines
862 B
C++
52 lines
862 B
C++
// https://github.com/mfichman/http
|
|
|
|
#pragma once
|
|
|
|
#include "VoidNet/Uri.hpp"
|
|
#include "VoidNet/Headers.hpp"
|
|
#include "VoidNet/Enums.hpp"
|
|
|
|
namespace std::net
|
|
{
|
|
class Request
|
|
{
|
|
public:
|
|
Method GetMethod() const
|
|
{
|
|
return m_method;
|
|
}
|
|
|
|
const Uri& GetUri() const
|
|
{
|
|
return m_uri;
|
|
}
|
|
|
|
const std::string& GetPath() const
|
|
{
|
|
return m_uri.GetPath();
|
|
}
|
|
|
|
const std::string& GetData() const
|
|
{
|
|
return m_data;
|
|
}
|
|
|
|
const std::string GetHeaderElement(const std::string& name) const;
|
|
|
|
const Headers& GetHeaders() const
|
|
{
|
|
return m_headers;
|
|
}
|
|
|
|
void SetMethod(Method method);
|
|
void SetUri(const Uri& path);
|
|
void SetData(const std::string& data);
|
|
void AddHeader(const std::string& name, const std::string& value);
|
|
|
|
private:
|
|
Method m_method = Method::GET;
|
|
Uri m_uri;
|
|
std::string m_data;
|
|
Headers m_headers;
|
|
};
|
|
} |