33#include "exceptions.hpp"
34#include "proto_connexion.hpp"
35#include "central_report.hpp"
52 parser(std::unique_ptr<proto_connexion> & input,
53 const std::shared_ptr<central_report> & log);
64 proto_connexion::status
get_status()
const {
if(!source)
return proto_connexion::not_connected;
return source->get_status(); };
83 std::unique_ptr<proto_connexion> source;
86 void valid_source()
const {
if(!source || source->get_status() != proto_connexion::connected)
throw exception_range(
"socket disconnected"); };
class answer provides easy means to set an HTTP answer and means to sent it back to a proto_connexion...
Definition: answer.hpp:49
exception used to report out or range value or argument
Definition: exceptions.hpp:109
parser class is given a connection object and format the incoming byte flow in structured request obj...
Definition: parser.hpp:42
bool get_next_request_uri(uri &val)
Definition: parser.cpp:54
void send_answer(answer &ans)
modify the answer to conform to RFC 1945 before sending it
Definition: parser.cpp:107
const request & get_request()
provides the next request
Definition: parser.cpp:69
proto_connexion::status get_status() const
provides visibility on the connection status
Definition: parser.hpp:64
~parser()
destructor
Definition: parser.hpp:61
void close()
closes the current connection
Definition: parser.cpp:48
parser(std::unique_ptr< proto_connexion > &input, const std::shared_ptr< central_report > &log)
Definition: parser.cpp:32
class holding fields of an HTTP request (method, URI, header, cookies, and so on)
Definition: request.hpp:45
uri type holds the splitted list of the scheme / hostname / path # anchor
Definition: uri.hpp:44