Maurice Grönwoldt
5bb68a7d02
We have no make install support... so we don't need to have everything as a single-header and lib file.
34 lines
1,006 B
C++
34 lines
1,006 B
C++
#pragma once
|
|
|
|
#include "Cookie.h"
|
|
#include "Http.h"
|
|
#include "ParameterValue.h"
|
|
#include "Session.h"
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace VWeb {
|
|
struct Request {
|
|
public:
|
|
int ID;
|
|
std::string Body;
|
|
HttpMethod Method{HttpMethod::GET};
|
|
std::string URI;
|
|
Ref<Session> SessionData;
|
|
Ref<Cookies> CookieData;
|
|
Cookie &GetCookie(const std::string &key) { return CookieData->Get(key); };
|
|
ParameterValue &Parameter(const std::string &key) { return Parameters[key]; }
|
|
bool HasParameter(const std::string &key) const {
|
|
return Parameters.contains(key);
|
|
}
|
|
bool HasHeader(const std::string &key) const { return Headers.contains(key); }
|
|
std::string &FirstOf(const std::string &key) {
|
|
return Parameters[key].GetFirst();
|
|
}
|
|
ParameterValue &Header(const std::string &key) { return Headers[key]; }
|
|
std::unordered_map<std::string, ParameterValue> Parameters;
|
|
std::unordered_map<std::string, ParameterValue> Headers;
|
|
std::vector<std::string> URLParameters;
|
|
};
|
|
} // namespace VWeb
|