#ifndef SERVERCONFIG_HPP # define SERVERCONFIG_HPP # include "utils.hpp" # include "LocationConfig.hpp" # include # include # include // string # include // cout, cin struct ServerConfig { std::vector server_name; std::string host; std::string port; std::string root; // ./www/ or www work www/ and www work // i do remove trailing / tho size_t client_body_limit; std::vector index; std::map error_pages; std::vector locations; void print_all() const { std::cout << "PRINTING A FULL SERVER CONFIG\n\n"; for (size_t i = 0; i < server_name.size(); i++) std::cout << server_name[i] << " "; std::cout << "root: " << root << '\n'; std::cout << "index: "; for (size_t i = 0; i < index.size(); i++) std::cout << index[i] << " "; std::cout << "\nerror_pages: "; for(std::map::const_iterator it = error_pages.begin(); \ it != error_pages.end(); it++) std::cout << it->first << "--" << it->second << " "; // for (size_t i = 0; i < error_pages.size(); i++) // std::cout << error_pages->first << "--" << error_pages->second << " "; // std::cout << "skiping Locations for now...\n"; for (std::vector::const_iterator it = locations.begin(); it < locations.end(); it++) it->print_all(); std::cout << "client_body_limit: " << client_body_limit << '\n'; std::cout << "host: " << host << '\n'; std::cout << "port: " << port << '\n'; std::cout << "\n----------\n"; } }; #endif