forked from awwit/httpserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerHttp1.h
More file actions
29 lines (22 loc) · 1.24 KB
/
ServerHttp1.h
File metadata and controls
29 lines (22 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once
#include "ServerProtocol.h"
#include "../../transfer/HttpStatusCode.h"
namespace HttpServer
{
class ServerHttp1 : public ServerProtocol
{
private:
const ServerApplicationSettings *getApplicationSettings(struct Request &rp, const bool isSecureConnection) const;
Http::StatusCode getRequestData(struct Request &rp, std::string &str_buf, const ServerApplicationSettings &appSets) const;
protected:
void useHttp1Protocol(struct Request &rp, std::vector<char> &buf, std::string &str_buf) const;
public:
ServerHttp1(Socket::Adapter &sock, const ServerSettings &settings, ServerControls &controls) noexcept;
virtual bool sendHeaders(const Http::StatusCode status, std::vector<std::pair<std::string, std::string> > &headers, const std::chrono::milliseconds &timeout, const bool endStream) const override;
virtual long sendData(const void *src, size_t size, const std::chrono::milliseconds &timeout, DataTransfer *dt) const override;
virtual bool packRequestParameters(std::vector<char> &buf, const struct Request &rp, const std::string &rootDir) const override;
virtual void unpackResponseParameters(struct Request &req, const void *src) const override;
virtual ServerProtocol *process() override;
virtual void close() override;
};
};