Orbit Framework
An ultra-modern, asynchronous, cross-platform C++ Web Framework.
Loading...
Searching...
No Matches
Config.hpp
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <cstdint>
4
5namespace config {
6
7enum class EventEngine {
8 Epoll,
10};
11
12enum class HttpVersion {
13 Http1_1,
14 Http2,
15 Http3
16};
17
19 uint16_t port{8080};
20 size_t worker_threads{4};
21 std::string log_level{"INFO"};
22 std::string static_dir{"./public"};
23 size_t max_body_size{10485760}; // Default 10 MB limit
24 std::string ssl_cert{""};
25 std::string ssl_key{""};
26 EventEngine engine{EventEngine::Epoll}; // Default to our new fast backend!
28
29 static ServerConfig parse(int argc, char* argv[]);
30};
31
32} // namespace config
Definition Config.hpp:5
HttpVersion
Definition Config.hpp:12
EventEngine
Definition Config.hpp:7
Definition Config.hpp:18
std::string ssl_cert
Definition Config.hpp:24
size_t worker_threads
Definition Config.hpp:20
size_t max_body_size
Definition Config.hpp:23
uint16_t port
Definition Config.hpp:19
std::string log_level
Definition Config.hpp:21
std::string ssl_key
Definition Config.hpp:25
HttpVersion http_version
Definition Config.hpp:27
std::string static_dir
Definition Config.hpp:22
static ServerConfig parse(int argc, char *argv[])
Definition Config.cpp:9
EventEngine engine
Definition Config.hpp:26