Commit Graph

301 Commits

Author SHA1 Message Date
Quinten
f598fbc185 feat: add split function to utils for string splitting by delimiter 2025-10-07 16:41:02 +02:00
Quinten
1994de27af feat: add validation rules for CGI extensions, folder existence, and host validation 2025-10-07 16:40:50 +02:00
Quinten
c74bebd75b fix: update server configuration 2025-10-07 16:40:32 +02:00
Quinten
a2c08739aa fix: add debug log in createDirective 2025-10-07 16:40:13 +02:00
whaffman
b0136ceedf fixed some testws 2025-10-06 16:30:44 +02:00
whaffman
2891deb47d style: format code for consistency and readability in validation rules 2025-10-06 16:01:33 +02:00
whaffman
dbc318cdfa feat : add structural validation rules to ConfigValidator 2025-10-06 16:00:38 +02:00
whaffman
4f89a2918c feat(structural rules) 2025-10-06 16:00:36 +02:00
whaffman
010ee3e8b6 moving some files and fixing includes 2025-10-06 15:16:53 +02:00
whaffman
95753eea34 feat(validation): implement configuration validation framework with rules for required directives and allowed values 2025-10-06 14:48:15 +02:00
whaffman
ceab8d7aab fix(client): cast buffer to const char* for receiveData method 2025-10-06 11:32:40 +02:00
whaffman
fad0f6f5b4 feat(validation): add IValidationRule interface and implementations for port validation 2025-10-06 11:28:29 +02:00
whaffman
abb832a380 refactor(directive value): simplify value retrieval with try_get method 2025-10-06 11:28:15 +02:00
Quinten
a8b71747bb refactor(main): clean up 2025-10-01 20:51:50 +02:00
Quinten
72e3f962e4 refactor(file handle): attempt to decouple a bit 2025-10-01 20:47:18 +02:00
Quinten
16841dd520 feat(file utils): move read functions to file utils 2025-10-01 20:46:42 +02:00
Quinten
a89150102c refactor(router): clean up unused functions
refactor(router): make handleRequest static
2025-10-01 20:46:11 +02:00
whaffman
ab83c02fd2 claude made a website 2025-10-01 18:03:00 +02:00
whaffman
bcd33dacd7 feat: serve static pages 2025-10-01 17:50:10 +02:00
Quinten
c5f7b82997 fix: correct path for 404 error page in default configuration 2025-09-30 20:03:17 +02:00
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