Commit Graph

45 Commits

Author SHA1 Message Date
Quinten
d562c5bcbf feat: CGI 2025-10-15 18:34:42 +02:00
Quinten
e1be8d8aa8 feat(socket): implement callbacks for asynchronous handling of requests and responses 2025-10-15 17:29:22 +02:00
Quinten
0887acd81a feat(config): add new server configuration for site-3 and implement CGI support
feat(site-3): create index.php for site-3 with a greeting message
refactor(client): change setCgiSocket to accept unique_ptr for better memory management
fix(AConfig): adjust getCGIPath to correctly prepend dot to extension
refactor(CgiProcess): update CGI process handling to use unique_ptr for CgiSocket
refactor(URI): enhance logging for CGI checks and improve condition checks
refactor(Router): clean up commented code and add debug logging for CGI process
fix(Server): improve error logging for epoll_ctl failures
2025-10-15 17:03:49 +02:00
Quinten
7134e26f6f refactor: make response async 2025-10-15 15:28:09 +02:00
Quinten
9b7f50cc04 refactor(Client): improve error handling in request method and clean up includes 2025-10-14 19:10:27 +02:00
Quinten
68ea191460 refactor: remove unused Router references from Client and Server classes 2025-10-14 19:02:49 +02:00
whaffman
3a95041815 formating 2025-10-14 18:47:09 +02:00
Quinten
f3bdf28eed refactor: implement socket structure and server refactor 2025-10-14 18:38:57 +02:00
Quinten
970ab847fc refactor(server): refactor event loop 2025-10-14 15:25:04 +02:00
whaffman
4614a2d382 moved sites to htdocs and ran format script 2025-10-09 22:57:31 +02:00
whaffman
7b6ce8fd67 refactor: optimize compiler options and clean up unused directives 2025-10-07 22:38:00 +02:00
whaffman
010ee3e8b6 moving some files and fixing includes 2025-10-06 15:16:53 +02:00
whaffman
ceab8d7aab fix(client): cast buffer to const char* for receiveData method 2025-10-06 11:32:40 +02:00
Quinten
a89150102c refactor(router): clean up unused functions
refactor(router): make handleRequest static
2025-10-01 20:46:11 +02:00
whaffman
bcd33dacd7 feat: serve static pages 2025-10-01 17:50:10 +02:00
Quinten
927b9549c2 feat: implement router request handling and error management 2025-09-30 20:03:05 +02:00
Quinten
1c634ddc02 remove client when it disconnects 2025-09-30 17:18:09 +02:00
Quinten
bd01a172c5 feat: refactor HttpResponse and ErrorHandler for improved response handling and error management 2025-09-30 16:05:08 +02:00
Quinten
be8c5a80b4 feat(http): implement http response class 2025-09-30 15:35:20 +02:00
whaffman
d360728b18 feat: enhance logging by changing info logs to debug level for detailed tracing 2025-09-30 11:26:05 +02:00
whaffman
a3e9699eb9 feat: reorder include statements to ensure corresponding headers are placed first 2025-09-30 11:17:43 +02:00
whaffman
ab2db513c0 iwyu 2025-09-30 10:54:50 +02:00
whaffman
949c788259 feat: preliminary error handling with custom error pages and response generation 2025-09-29 17:39:53 +02:00
whaffman
787432ff0c refactor: simplify Client and HttpRequest constructors, add status code management 2025-09-29 16:09:40 +02:00
whaffman
e5ad795917 fix: apply IWYU suggestions and format 2025-09-26 18:08:52 +02:00
whaffman
143498315b fix: apply IWYU suggestions 2025-09-26 18:08:32 +02:00
whaffman
c841142e79 Refactor configuration handling and directive parsing
- Introduced AConfig class to handle common configuration functionalities.
- Added GlobalConfig class to manage multiple ServerConfig instances.
- Updated ServerConfig to utilize the new AConfig base class.
- Refactored directive parsing logic to improve clarity and maintainability.
- Enhanced utility functions for removing comments and empty lines from configuration blocks.
- Updated directive classes to use consistent naming for value retrieval methods.
- Improved logging for better traceability during configuration parsing.
- Removed unused includes and cleaned up code for better readability.
2025-09-26 18:06:37 +02:00
Quinten
1e80839864 refactor(ServerConfig): update directive parsing and improve server socket binding 2025-09-25 17:51:37 +02:00
whaffman
b145a6eef2 refactor: update includes to use cstdint and cstddef for consistency 2025-09-24 22:34:12 +02:00
Quinten Mennen
64f5c39fb3 feat(request): catch parse errors 2025-09-24 13:34:07 +02:00
whaffman
ba831957d4 clang-format 2025-09-24 12:04:43 +02:00
whaffman
901f766599 ran iwyu 2025-09-24 12:03:40 +02:00
Quinten Mennen
d7a074cbba format(client): extra logging 2025-09-23 21:00:44 +02:00
whaffman
799cf250b7 Refactor Client class: replace std::cout with logging calls for read errors and client disconnections, and remove unused header parsing methods 2025-09-22 22:33:17 +02:00
whaffman
3dc12fab9d Implemented the recieving part of HttpRequest
and changed client to use HttpRequest
2025-09-22 21:49:38 +02:00
whaffman
6803524989 Refactor logging system: replace LogLevel with Log::Level across multiple files for improved consistency and clarity 2025-09-22 12:33:18 +02:00
whaffman
358b48e407 Refactor logging: replace LOG macros with Log class methods for improved clarity and consistency 2025-09-22 12:00:53 +02:00
whaffman
58edbe86be Refactor logging levels: change LOG_INFO to LOG_DEBUG in Client destructor and LOG_INFO to LOG_TRACE in ServerConfig for improved log granularity 2025-09-21 21:25:46 +02:00
whaffman
4f47c0c1ee Refactor variable naming for consistency: update member variables in Client, ConfigManager, LocationConfig, ServerConfig, and Socket classes to use a consistent naming convention with trailing underscores. 2025-09-21 00:12:05 +02:00
whaffman
df97596321 Enhance code style and organization: update .clang-format for include sorting, enable parallel compilation in CMake, and clean up includes across multiple files for improved readability and consistency. 2025-09-20 23:21:23 +02:00
whaffman
6262cda801 Refactor logging: replace std::cout with LOG macros across multiple files for consistent logging and improved readability 2025-09-20 16:23:43 +02:00
Quinten Mennen
792cda4b52 client: add NOLINT comments for array usage and buffer handling
server: mark handleRequest as const and add NOLINT for array index
2025-09-18 17:45:42 +02:00
Quinten Mennen
c246bde4be client: allow buffer to be read in multiple epoll events 2025-09-18 17:33:06 +02:00
Quinten Mennen
db8b078c27 Refactor Client and Server classes to use unique_ptr for socket management, enhance request handling, and improve connection lifecycle management 2025-09-18 15:07:19 +02:00
whaffman
29d6431143 moved CLient class to own dir 2025-09-18 12:56:49 +02:00