diff --git a/fix_iwyu.sh b/fix_iwyu.sh old mode 100755 new mode 100644 diff --git a/safe_iwyu_fix.sh b/safe_iwyu_fix.sh old mode 100755 new mode 100644 diff --git a/webserv/client/Client.cpp b/webserv/client/Client.cpp index 4bf3196..68bd50b 100644 --- a/webserv/client/Client.cpp +++ b/webserv/client/Client.cpp @@ -1,7 +1,13 @@ -#include "webserv/socket/Socket.hpp" - #include -#include +#include // for Log +#include // for uint8_t +#include // for ssize_t +#include // for HttpHeaders +#include // for Server +#include // for Socket +#include // for reference_wrapper, cref, ref +#include // for map +#include // for pair, move Client::Client(std::unique_ptr socket, Server &server, const ServerConfig &server_config) : client_socket_(std::move(socket)), server_(std::ref(server)), server_config_(std::cref(server_config)), diff --git a/webserv/client/Client.hpp b/webserv/client/Client.hpp index 7924d8c..4a91b86 100644 --- a/webserv/client/Client.hpp +++ b/webserv/client/Client.hpp @@ -1,14 +1,17 @@ #pragma once -#include "webserv/socket/Socket.hpp" - -#include -#include +#include // for ServerConfig +#include // for HttpRequest #include +#include -#include +#include // for unique_ptr +#include // for string + +#include // for size_t class Server; +class Socket; class Client { diff --git a/webserv/config/ConfigManager.cpp b/webserv/config/ConfigManager.cpp index 984a40d..9209e44 100644 --- a/webserv/config/ConfigManager.cpp +++ b/webserv/config/ConfigManager.cpp @@ -1,12 +1,11 @@ #include -#include -#include -#include - -#include -#include -#include -#include +#include // for ServerConfig +#include // for trim, findCorrespondingClosingBrace, trimSemi +#include // for Log +#include // for size_t +#include // for basic_ifstream, basic_istream, basic_filebuf, basic_ostream::operator<<, ifstream, istringstream, stringstream +#include // for basic_stringstream, basic_istringstream +#include // for runtime_error ConfigManager::ConfigManager() : initialized_(false) {} diff --git a/webserv/config/ConfigManager.hpp b/webserv/config/ConfigManager.hpp index 4e59515..9cdab85 100644 --- a/webserv/config/ConfigManager.hpp +++ b/webserv/config/ConfigManager.hpp @@ -1,7 +1,6 @@ #pragma once #include - #include #include diff --git a/webserv/config/LocationConfig.cpp b/webserv/config/LocationConfig.cpp index 3ad2e59..a0e9533 100644 --- a/webserv/config/LocationConfig.cpp +++ b/webserv/config/LocationConfig.cpp @@ -1,7 +1,6 @@ #include #include #include - #include #include diff --git a/webserv/config/ServerConfig.cpp b/webserv/config/ServerConfig.cpp index e6480fe..e45cd19 100644 --- a/webserv/config/ServerConfig.cpp +++ b/webserv/config/ServerConfig.cpp @@ -1,10 +1,12 @@ -#include +#include // for LocationConfig #include -#include -#include - -#include -#include +#include // for findCorrespondingClosingBrace, trim +#include // for Log, LOCATION +#include // for size_t +#include // for basic_istringstream, basic_istream, istringstream +#include // for basic_string, char_traits, operator+, allocator, string, operator==, operator>>, operator<=>, to_string, stoi, getline +#include // for runtime_error +#include // for pair ServerConfig::ServerConfig(std::string const &serverBlock) : port_(80) { diff --git a/webserv/config/ServerConfig.hpp b/webserv/config/ServerConfig.hpp index 51ddedc..f71c808 100644 --- a/webserv/config/ServerConfig.hpp +++ b/webserv/config/ServerConfig.hpp @@ -1,7 +1,6 @@ #pragma once #include - #include #include #include diff --git a/webserv/config/utils.cpp b/webserv/config/utils.cpp index 74e3f82..70b6615 100644 --- a/webserv/config/utils.cpp +++ b/webserv/config/utils.cpp @@ -1,5 +1,4 @@ #include - #include std::string trim(const std::string &str) diff --git a/webserv/config/utils.hpp b/webserv/config/utils.hpp index 5242ad9..73e35f0 100644 --- a/webserv/config/utils.hpp +++ b/webserv/config/utils.hpp @@ -1,6 +1,7 @@ #pragma once -#include +#include // for size_t +#include // for string std::string trimSemi(const std::string &str); std::string trim(const std::string &str); diff --git a/webserv/http/HttpHeaders.cpp b/webserv/http/HttpHeaders.cpp index 1f30ab5..a291fce 100644 --- a/webserv/http/HttpHeaders.cpp +++ b/webserv/http/HttpHeaders.cpp @@ -1,9 +1,11 @@ -#include "webserv/http/HttpHeaders.hpp" +#include // for trim +#include // for CRLF +#include // for HttpHeaders -#include "webserv/config/utils.hpp" -#include "webserv/http/HttpConstants.hpp" +#include // for __transform_fn, transform +#include // for pair -#include +#include // for tolower std::optional HttpHeaders::getContentLength() const { diff --git a/webserv/http/HttpHeaders.hpp b/webserv/http/HttpHeaders.hpp index 3cd39fc..3648bbe 100644 --- a/webserv/http/HttpHeaders.hpp +++ b/webserv/http/HttpHeaders.hpp @@ -1,8 +1,9 @@ #pragma once -#include -#include -#include +#include // for size_t +#include // for optional +#include // for basic_string, string, hash +#include // for unordered_map /** * @file HttpHeaders.hpp diff --git a/webserv/http/HttpRequest.cpp b/webserv/http/HttpRequest.cpp index 5322580..18fc6b7 100644 --- a/webserv/http/HttpRequest.cpp +++ b/webserv/http/HttpRequest.cpp @@ -1,11 +1,12 @@ -#include -#include -#include +#include // for CRLF, DOUBLE_CRLF #include -#include +#include // for Log, LOCATION +#include // for basic_stringstream, basic_istream, stringstream +#include // for vector +#include // for exception +#include // for optional, operator> -#include -#include +class ServerConfig; HttpRequest::HttpRequest(const ServerConfig *serverConfig, const Client *client) : serverConfig_(serverConfig), client_(client) diff --git a/webserv/http/HttpRequest.hpp b/webserv/http/HttpRequest.hpp index 567e2be..c4d04af 100644 --- a/webserv/http/HttpRequest.hpp +++ b/webserv/http/HttpRequest.hpp @@ -1,14 +1,14 @@ #pragma once -#include "webserv/http/HttpHeaders.hpp" - #include +#include // for HttpHeaders -#include -#include -#include +#include // for size_t +#include // for uint8_t +#include // for string, basic_string class Client; +class ServerConfig; class HttpRequest { @@ -36,7 +36,9 @@ class HttpRequest [[nodiscard]] const std::string &getBody() const; [[nodiscard]] const std::string &getMethod() const { return method_; } + [[nodiscard]] const std::string &getTarget() const { return target_; } + [[nodiscard]] const std::string &getHttpVersion() const { return httpVersion_; } void receiveData(const char *data, size_t length); diff --git a/webserv/log/Channel.cpp b/webserv/log/Channel.cpp index fb9d988..b2afc04 100644 --- a/webserv/log/Channel.cpp +++ b/webserv/log/Channel.cpp @@ -1,7 +1,7 @@ #include - -#include -#include +#include // for operator<<, setfill, setw +#include // for basic_ostream, operator<<, basic_stringstream, basic_istream, basic_istringstream, right, istringstream, stringstream +#include // for get Log::Level Channel::getLogLevel() const { diff --git a/webserv/log/Channel.hpp b/webserv/log/Channel.hpp index 490de56..91e7e0c 100644 --- a/webserv/log/Channel.hpp +++ b/webserv/log/Channel.hpp @@ -1,7 +1,6 @@ #pragma once #include - #include #include diff --git a/webserv/log/FileChannel.cpp b/webserv/log/FileChannel.cpp index f9d5d81..64d81f2 100644 --- a/webserv/log/FileChannel.cpp +++ b/webserv/log/FileChannel.cpp @@ -1,10 +1,11 @@ #include -#include +#include // for Log +#include // for system_clock +#include // for cerr +#include // for operator<<, put_time +#include // for localtime, tm -#include -#include -#include -#include +struct tm; FileChannel::FileChannel(const std::string &filename, std::ios_base::openmode mode, Log::Level logLevel) : filename_(filename), fileStream_(filename, mode) diff --git a/webserv/log/FileChannel.hpp b/webserv/log/FileChannel.hpp index cca6ee3..9490817 100644 --- a/webserv/log/FileChannel.hpp +++ b/webserv/log/FileChannel.hpp @@ -1,10 +1,11 @@ #pragma once -#include +#include // for Channel +#include // for Log -#include -#include -#include +#include // for basic_ofstream, ios_base, ofstream +#include // for map +#include // for string, basic_string class FileChannel : public Channel { diff --git a/webserv/log/Log.cpp b/webserv/log/Log.cpp index 732cb45..8a66ef3 100644 --- a/webserv/log/Log.cpp +++ b/webserv/log/Log.cpp @@ -1,11 +1,13 @@ -#include +#include // for Channel +#include // for FileChannel #include -#include +#include // for StdoutChannel -#include -#include -#include -#include +#include // for duration_cast, operator-, steady_clock, duration, seconds +#include // for exception +#include // for basic_ostream, operator<<, cerr +#include // for allocator, unique_ptr, make_unique +#include // for pair Log::Log() { @@ -54,7 +56,7 @@ Log &Log::getInstance() } void Log::log(Log::Level level, const std::string &message, const std::map &context) -{ +{ for (auto &it : channels_) { // extendedMessage += " | " + message; diff --git a/webserv/log/Log.hpp b/webserv/log/Log.hpp index b957cce..809d7e8 100644 --- a/webserv/log/Log.hpp +++ b/webserv/log/Log.hpp @@ -1,13 +1,14 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include +#include // for uint8_t +#include // for array +#include // for steady_clock +#include // for map +#include // for unique_ptr +#include // for string, basic_string, hash +#include // for string_view +#include // for unordered_map +#include // for ios_base class Channel; // Forward declaration diff --git a/webserv/log/StdoutChannel.cpp b/webserv/log/StdoutChannel.cpp index ab59c38..0a852a5 100644 --- a/webserv/log/StdoutChannel.cpp +++ b/webserv/log/StdoutChannel.cpp @@ -1,11 +1,7 @@ -#include -#include +#include // for Log #include - -#include -#include -#include -#include +#include // for operator<<, setfill, setw +#include // for basic_ostream, operator<<, basic_ostream::operator<<, cerr, cout, flush, ostream StdoutChannel::StdoutChannel(Log::Level logLevel) { diff --git a/webserv/log/StdoutChannel.hpp b/webserv/log/StdoutChannel.hpp index 58e69aa..e88dcd7 100644 --- a/webserv/log/StdoutChannel.hpp +++ b/webserv/log/StdoutChannel.hpp @@ -1,6 +1,10 @@ #pragma once -#include +#include // for Channel +#include // for Log + +#include // for map +#include // for string, basic_string class StdoutChannel : public Channel { diff --git a/webserv/main.cpp b/webserv/main.cpp index 4542046..65539b4 100644 --- a/webserv/main.cpp +++ b/webserv/main.cpp @@ -1,11 +1,10 @@ -#include -#include -#include -#include -#include - -#include -#include +#include // for ConfigManager +#include // for Log, LOCATION +#include // for Server +#include // for basic_ostream, operator<<, cerr, ios_base +#include // for basic_string, char_traits, allocator, operator+, operator<=> +#include // for map +#include // for pair int main(int argc, char **argv) { diff --git a/webserv/server/Server.cpp b/webserv/server/Server.cpp index dfaa7f8..8827664 100644 --- a/webserv/server/Server.cpp +++ b/webserv/server/Server.cpp @@ -1,17 +1,20 @@ -#include +#include // for Log #include -#include - -#include // For memset -#include -#include - -#include // For inet_addr -#include // For fcntl() -#include // For sockaddr_in -#include -#include // For socket functions -#include // For close() +#include // for Socket +#include // for epoll_event, epoll_ctl, EPOLLIN, EPOLLOUT, epoll_create1, epoll_wait, EPOLLERR, EPOLLHUP, EPOLL_CTL_ADD, EPOLL_CTL_DEL, EPOLL_CTL_MOD +#include // for send, SOMAXCONN +#include // for close +#include // for errno +#include // for ssize_t +#include // for Client +#include // for ConfigManager +#include // for strerror, strlen +#include // for unique_ptr, allocator, make_unique +#include // for vector +#include // for exception +#include // for runtime_error +#include // for operator+, to_string, basic_string, char_traits, string +#include // for move, pair Server::Server(const ConfigManager &configManager) : epoll_fd_(epoll_create1(0)), configManager_(configManager) { diff --git a/webserv/server/Server.hpp b/webserv/server/Server.hpp index 467fe7a..381f0f3 100644 --- a/webserv/server/Server.hpp +++ b/webserv/server/Server.hpp @@ -2,14 +2,18 @@ #include #include -#include -#include +#include // for ServerConfig +#include // for Socket -#include -#include -#include +#include // for reference_wrapper +#include // for unique_ptr +#include // for unordered_map +#include // for vector + +#include // for uint32_t class Client; +class ConfigManager; class Server { diff --git a/webserv/socket/Socket.cpp b/webserv/socket/Socket.cpp index 60a584a..a9b27d0 100644 --- a/webserv/socket/Socket.cpp +++ b/webserv/socket/Socket.cpp @@ -1,14 +1,12 @@ #include #include - -#include -#include - #include // For inet_addr #include // For fcntl()" #include // For sockaddr_in #include #include // For close() +#include +#include Socket::Socket() : fd_(socket(AF_INET, SOCK_STREAM, 0)) { diff --git a/webserv/socket/Socket.hpp b/webserv/socket/Socket.hpp index e611de8..fe6b2ae 100644 --- a/webserv/socket/Socket.hpp +++ b/webserv/socket/Socket.hpp @@ -1,9 +1,9 @@ #pragma once -#include -#include - -#include +#include // for ssize_t +#include // for size_t +#include // for unique_ptr +#include // for string class Socket {