Commit Graph

331 Commits

Author SHA1 Message Date
Quinten
bfe5ad34e4 feat: add custom 404 error page for improved user experience 2025-09-30 20:03:11 +02:00
Quinten
927b9549c2 feat: implement router request handling and error management 2025-09-30 20:03:05 +02:00
Quinten
e1acf5b515 refactor: replace fdToConfig_ with listener_fds_ for improved socket management 2025-09-30 18:15:08 +02:00
Quinten
9320d83378 feat: add custom 400 error page and update configuration for error handling 2025-09-30 18:02:13 +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
Quinten
4d6ad6b1d5 todo 2025-09-30 13:58:17 +02:00
whaffman
610cc69fc1 feat: add missing unordered_map include for improved functionality 2025-09-30 12:32:16 +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
4ff7a03597 feat: add script to reorder includes in .cpp files and ensure corresponding header is at the top 2025-09-30 11:13:56 +02:00
whaffman
7322360650 feat: update IWYU fix script to default to aggressive mode and clean up option prompts and add to format script 2025-09-30 10:57:53 +02:00
whaffman
ab2db513c0 iwyu 2025-09-30 10:54:50 +02:00
whaffman
b7f8947440 feat: add custom 400 error page and update configuration for error handling 2025-09-30 10:41:53 +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
ae1b10c60b feat: implement comprehensive unit testing framework with Google Test integration 2025-09-29 16:09:22 +02:00
whaffman
124c831800 refactor: improve location path extraction and add getValueAs template method 2025-09-26 18:50:40 +02:00
whaffman
6abe64f9b7 includes <> 2025-09-26 18:10:41 +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
whaffman
d3d1445264 refactor(DirectiveValue): simplify toString implementation using visitor overload pattern 2025-09-26 08:12:16 +02:00
whaffman
17b69afd2c feat(directives): implement DirectiveValue class and IntStringDirective for enhanced directive handling and use std::variant instead of any 2025-09-25 21:57:02 +02:00
Quinten
1e80839864 refactor(ServerConfig): update directive parsing and improve server socket binding 2025-09-25 17:51:37 +02:00
Quinten
c9e74ca508 feat(directives): implement directive parsing and factory pattern for configuration 2025-09-25 17:33:14 +02:00
Quinten
a54cdaa841 feat(validation): just an outline 2025-09-25 11:26:55 +02:00
whaffman
571625bbbf refactor(HttpHeaders): add logging for header operations and clean up includes 2025-09-24 22:37:44 +02:00
whaffman
feeadb0a21 refactor: streamline build directory detection and update Makefile for environment handling 2025-09-24 22:34:20 +02:00
whaffman
b145a6eef2 refactor: update includes to use cstdint and cstddef for consistency 2025-09-24 22:34:12 +02:00
Quinten Mennen
93079cd8bd Merge remote-tracking branch 'origin/willem' 2025-09-24 15:54:57 +02:00
Quinten Mennen
33c82490f0 fix(HttpRequest): simplify debug log message for waiting data in request line 2025-09-24 15:54:48 +02:00
whaffman
89e8dcd34d refactor(iwyu): remove deprecated IWYU scripts for improved maintenance 2025-09-24 13:26:12 +00:00
whaffman
15d749eae9 refactor(devcontainer): streamline Dockerfile and update VS Code settings for Clang 12 2025-09-24 13:15:24 +00:00
Quinten Mennen
64f5c39fb3 feat(request): catch parse errors 2025-09-24 13:34:07 +02:00
whaffman
878fe4790a feat(docker): update Dockerfile to install Clang 12 and set it as default 2025-09-24 11:12:50 +00:00
Quinten Mennen
36961fc468 fix: add utils namespace to functions 2025-09-24 13:01:27 +02:00
Quinten Mennen
f611ace342 fix(server config): remove server_fd 2025-09-24 13:01:05 +02:00
Quinten Mennen
5214ed3af1 feat(utils): utils namespace and custom stoul 2025-09-24 13:00:45 +02:00
Quinten Mennen
04e8292009 fix(headers): better content-length evaluation 2025-09-24 13:00:02 +02:00
whaffman
94085917ab feat(format): add script for formatting and checking header files 2025-09-24 12:55:40 +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
7270ee1812 feat(request): add parse error state 2025-09-24 11:52:31 +02:00
Quinten Mennen
e32b963689 fix(headers): remove unused log include 2025-09-24 11:22:41 +02:00
Quinten Mennen
e43bf72cd6 feat(headers): getContentType and getHost 2025-09-24 11:22:21 +02:00
Quinten Mennen
e921290d8f format(request) 2025-09-24 11:20:26 +02:00
Quinten Mennen
21b19b248c fix(headers): retrieval also case-insensitive 2025-09-24 11:20:15 +02:00
Quinten Mennen
5485a5a839 fix(request): check header size 2025-09-24 11:12:03 +02:00