This commit is contained in:
3lswear
2022-02-08 22:08:52 +03:00
parent 30921c41fd
commit 0c13c02344
4 changed files with 46 additions and 2 deletions

40
config/real.toml Normal file
View File

@@ -0,0 +1,40 @@
[[server]]
name = "pohek1.org"
host = "127.0.0.1"
port = 8080
body_size_limit = 1000
[server.error_page]
404 = "error_404.html"
[[server.location]]
location = "/"
root = "www/"
redirect = ["301", "http://localhost/secret"]
methods = ["GET", "POST", "DELETE"]
autoindex = true
directory_file = "its_a_directory.html"
upload_accept = true
upload_dir = "/var/www/html/upload"
[[server.location]]
location = "/secret/"
root = "/var/www/html/secret.html"
methods = ["GET"]
autoindex = false
directory_file = "oops.html"
[[server]]
name = "pohek2.org"
host = "127.0.0.1"
port = 8081
body_size_limit = 10000
[server.error_page]
404 = "error_404.html"
405 = "error_405.html"
406 = "error_406.html"
407 = "error_407.html"
[[server.location]]
location = "/"
root = "www/"
methods = ["GET", "POST"]
autoindex = true
directory_file = "its_a_directory.html"
upload_accept = false
upload_dir = "/var/www/html/upload"

View File

@@ -236,6 +236,7 @@ void Response::generateBody(void)
bool Response::allowedMethod(std::string &method) bool Response::allowedMethod(std::string &method)
{ {
DBOUT << "allowedMethod called" << ENDL;
std::vector<std::string>::iterator it; std::vector<std::string>::iterator it;
it = _location->methods.begin(); it = _location->methods.begin();
@@ -290,8 +291,11 @@ void Response::generate2(void)
_hostPort.ip = _config->getHost(); _hostPort.ip = _config->getHost();
_hostPort.port = _config->getPort(); _hostPort.port = _config->getPort();
_fullURI = getFullURI(); _fullURI = getFullURI();
DBOUT << "fullURI " << _fullURI << ENDL;
_method = _request.getMethod(); _method = _request.getMethod();
DBOUT << RED << "code is " << _code << ENDL;
if (_request.badCode(_code) || !allowedMethod(_method)) if (_request.badCode(_code) || !allowedMethod(_method))
{ {
invalidClient(); invalidClient();

View File

@@ -40,7 +40,7 @@ namespace config
TOMLMap *parse(void) TOMLMap *parse(void)
{ {
std::string filename = "config/simple.toml"; std::string filename = "config/real.toml";
config::TOMLParser parser(filename); config::TOMLParser parser(filename);
TOMLMap *root = parser.parse(); TOMLMap *root = parser.parse();
/* config::display(root); */ /* config::display(root); */

View File

@@ -13,7 +13,7 @@ int main(int argc, char **argv)
server.readConfig(); server.readConfig();
server.setupConfig(); server.setupConfig();
server.start(); server.start();
// server.end(); server.end();
return (0); return (0);