mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-03 23:15:52 +00:00
40 lines
746 B
C++
40 lines
746 B
C++
#ifndef __ABYSS_HTTP_HPP__
|
|
#define __ABYSS_HTTP_HPP__
|
|
#include <util/json.hpp>
|
|
#include <util/string_view.hpp>
|
|
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
namespace abyss
|
|
{
|
|
namespace http
|
|
{
|
|
struct RequestHeader
|
|
{
|
|
using Headers_t = std::unordered_multimap< std::string, std::string >;
|
|
Headers_t Headers;
|
|
std::string Method;
|
|
std::string Path;
|
|
};
|
|
|
|
struct HeaderReader
|
|
{
|
|
using string_view = llarp::string_view;
|
|
|
|
RequestHeader Header;
|
|
virtual ~HeaderReader()
|
|
{
|
|
}
|
|
|
|
bool
|
|
ProcessHeaderLine(string_view line, bool& done);
|
|
|
|
virtual bool
|
|
ShouldProcessHeader(const string_view& line) const = 0;
|
|
};
|
|
|
|
} // namespace http
|
|
} // namespace abyss
|
|
#endif
|