Commit Graph
100 Commits
Author SHA1 Message Date
lorenz.stechauner af62a3065a Add http error handling 2023-01-09 22:01:50 +01:00
lorenz.stechauner c36ad8c113 Add global error handling 2023-01-09 01:07:02 +01:00
lorenz.stechauner 7f7a07c4d2 Add HTTP status code descriptions 2023-01-08 23:13:47 +01:00
lorenz.stechauner 4ff22bd0c6 Handle timeouts in epoll 2023-01-08 22:19:16 +01:00
lorenz.stechauner 83ca2467de Add 1xx TODO 2023-01-08 20:34:04 +01:00
lorenz.stechauner 0a1fb977d6 Diversifying HTTP statuses 2023-01-08 01:37:45 +01:00
lorenz.stechauner 1405036cf2 Add 421 message 2023-01-07 16:30:23 +01:00
lorenz.stechauner 5f3cd03a6f Using 203 in /.sesimos/res/ 2023-01-07 02:48:43 +01:00
lorenz.stechauner 819b71f285 Add more HTTP status codes 2023-01-07 02:41:57 +01:00
lorenz.stechauner ceaa384fce Using more diverse HTTP codes 2023-01-07 02:35:47 +01:00
lorenz.stechauner 99c4eb1c8a Update http_static 2023-01-07 00:21:25 +01:00
lorenz.stechauner fb59b0d8c4 Using 504 instead of 503 2023-01-06 22:45:56 +01:00
lorenz.stechauner 946adb54d7 Handle HEAD for proxy 2023-01-06 10:41:45 +01:00
lorenz.stechauner b369a1116e Handle HEAD as proxy 2023-01-05 22:55:00 +01:00
lorenz.stechauner 950bf19331 Use semaphores to keep track of proxy connections 2023-01-05 22:51:30 +01:00
lorenz.stechauner 993cb65724 Mark proxy connection free on error 2023-01-05 22:29:28 +01:00
lorenz.stechauner c7be0adc66 Catch EBADF in async 2023-01-05 22:04:18 +01:00
lorenz.stechauner 4782707049 Working on TODOs in proxy.c 2023-01-05 21:59:23 +01:00
lorenz.stechauner 3d1451448d Update Makefile 2023-01-05 20:35:21 +01:00
lorenz.stechauner 1619e01174 Update async to use epoll instead of poll 2023-01-05 20:33:59 +01:00
lorenz.stechauner 6112e719e5 Improve list 2023-01-05 20:20:32 +01:00
lorenz.stechauner 6f2751f69b Added http_parse_request 2023-01-05 18:54:31 +01:00
lorenz.stechauner 925ff2b9e4 Add clock_cpu() 2023-01-05 18:45:48 +01:00
lorenz.stechauner c67edd4195 Close all connections on exit 2023-01-04 00:40:09 +01:00
lorenz.stechauner d8fd552b40 Memset uri/req/res 2023-01-03 23:59:23 +01:00
lorenz.stechauner ec6457465c Init conf 2023-01-03 19:23:44 +01:00
lorenz.stechauner 490c8a2ae0 Add epoll todo 2023-01-03 19:04:25 +01:00
lorenz.stechauner f87fb74ced Remove sock_poll 2023-01-03 18:58:58 +01:00
lorenz.stechauner 7b9844e267 Improve debug message 2023-01-03 18:53:32 +01:00
lorenz.stechauner 308534b883 Code cleanup 2023-01-03 18:44:50 +01:00
lorenz.stechauner b93d97258c Reverse proxy error docs also with HEAD 2023-01-03 18:43:49 +01:00
lorenz.stechauner cd80a194dd Use strcasecmp in http.c 2023-01-03 18:36:40 +01:00
lorenz.stechauner ffc5c80b65 Format proxy errors if no content 2023-01-03 18:25:07 +01:00
lorenz.stechauner 896486b64a WebSocket async working 2023-01-03 16:12:45 +01:00
lorenz.stechauner c1706edcea Update server version string 2023-01-03 14:56:31 +01:00
lorenz.stechauner f8d3253a9f Fix reverse proxy error 2023-01-03 14:52:36 +01:00
lorenz.stechauner ec3183e99b Outsource globe.svg 2023-01-03 14:42:01 +01:00
lorenz.stechauner 27d514ae12 Cleanup 2023-01-03 14:34:54 +01:00
lorenz.stechauner e82869e993 Using list in http header 2023-01-03 14:05:11 +01:00
lorenz.stechauner a54a6af497 Add list_insert/append_ptr 2023-01-03 14:04:03 +01:00
lorenz.stechauner c13bea5ab4 Refactor proxy a bit 2023-01-03 12:58:18 +01:00
lorenz.stechauner fd1630a554 Add 405 to /.sesimos/res/ 2023-01-03 11:27:12 +01:00
lorenz.stechauner f7f245c931 Outsource default favicons 2023-01-03 11:08:17 +01:00
lorenz.stechauner e72cb57b4a Fix mpmc worker termination 2023-01-03 10:34:08 +01:00
lorenz.stechauner 1cf9172194 Make client list dynamic 2023-01-03 10:05:30 +01:00
lorenz.stechauner f416c2f05c Change format_duration to format minutes as XX:XX 2023-01-02 22:20:33 +01:00
lorenz.stechauner 300e3dc0aa Botch sock_strerror 2023-01-02 22:12:34 +01:00
lorenz.stechauner 26869c0df5 Improve list tests 2023-01-02 22:01:51 +01:00
lorenz.stechauner c7488b0f59 Add list.c 2023-01-02 21:48:06 +01:00
lorenz.stechauner 4e6930692e add todo 2023-01-02 20:12:43 +01:00
lorenz.stechauner 24cb993cb8 Remove parameter client_num from fastcgi_init() 2023-01-02 20:11:28 +01:00
lorenz.stechauner fc9538fa6d Update sock_check to sock_has_pending 2023-01-02 19:56:29 +01:00
lorenz.stechauner 9d8120966d Handle SIGPIPE 2023-01-02 19:48:12 +01:00
lorenz.stechauner 3c5ecacecc Refactor async.c 2023-01-02 18:16:18 +01:00
lorenz.stechauner 606865e5dc Handle proxy earlier 2023-01-02 17:54:30 +01:00
lorenz.stechauner b79c9c710b Async locking 2023-01-02 17:53:44 +01:00
lorenz.stechauner 4b4e7bd257 Refactor async_exec 2023-01-02 17:32:13 +01:00
lorenz.stechauner 8d6b7105f3 Using sock_recv in sock_check 2023-01-02 17:28:40 +01:00
lorenz.stechauner 95e2ddb24c Fix clock_micros() 2023-01-02 17:28:08 +01:00
lorenz.stechauner 535e1add96 Make errno in sock transparent 2023-01-02 17:03:39 +01:00
lorenz.stechauner 51d85cc99f Async check if closed 2023-01-02 16:52:18 +01:00
lorenz.stechauner a4c0093fbe Small improvements 2023-01-02 15:43:26 +01:00
lorenz.stechauner 6ff6f0c73b Reduce client_ctx_t footprint 2023-01-02 15:20:02 +01:00
lorenz.stechauner 555e8f62a1 Fix FastCGI error handling 2023-01-02 14:33:48 +01:00
lorenz.stechauner 03c2c7b364 Outsource default documents to actual files 2023-01-02 14:26:59 +01:00
lorenz.stechauner abb40a659c Fix proxy pointer arithmetic 2022-12-31 11:44:52 +01:00
lorenz.stechauner 6eb3b99bfb Update Makefile 2022-12-31 11:37:44 +01:00
lorenz.stechauner 9cb278eb2a Remove tcp_closer 2022-12-31 11:20:29 +01:00
lorenz.stechauner 33feabdec0 Update server string Sesimos -> sesimos 2022-12-31 02:30:35 +01:00
lorenz.stechauner 7995a9699e TRACE now works for http 2022-12-31 02:27:27 +01:00
lorenz.stechauner 680344fbec TRACE working again 2022-12-31 02:20:32 +01:00
lorenz.stechauner e667a79ab2 Closing connection if no keep alive 2022-12-31 02:14:20 +01:00
lorenz.stechauner 816c8c0bfc Actually using async 2022-12-31 02:00:01 +01:00
lorenz.stechauner 1547805e4c Add sock_set_timeout() 2022-12-31 01:36:24 +01:00
lorenz.stechauner 96f3225f51 Add clock_micros() 2022-12-31 00:53:36 +01:00
lorenz.stechauner 9ad1ecf1da Rev proxy working again 2022-12-31 00:28:20 +01:00
lorenz.stechauner 28d7cf68df Outsource from request_handler 2022-12-30 16:48:48 +01:00
lorenz.stechauner 204317f46a Remove responder 2022-12-30 16:06:49 +01:00
lorenz.stechauner a56002a409 More workers 2022-12-29 23:21:40 +01:00
lorenz.stechauner db966b3a66 Merge worker .h files 2022-12-29 22:00:32 +01:00
lorenz.stechauner 5d27cf0398 Update workers 2022-12-29 21:47:42 +01:00
lorenz.stechauner 7a2acb0e66 Add workers 2022-12-29 21:41:40 +01:00
lorenz.stechauner cff5d558d6 Fix responder name 2022-12-29 21:17:00 +01:00
lorenz.stechauner 665e4ceabc Splitting in request_handler and responder 2022-12-29 18:51:12 +01:00
lorenz.stechauner f241913620 rename fastcgi_conn to fastcgi_cnx_t 2022-12-29 17:09:56 +01:00
lorenz.stechauner 2969e435d1 Small fixes 2022-12-29 17:02:57 +01:00
lorenz.stechauner c4289ac018 Set logger prefix in request handler 2022-12-29 12:18:39 +01:00
lorenz.stechauner 672745f6df Delete client.h/.c 2022-12-29 11:47:59 +01:00
lorenz.stechauner f92c26c350 async - check if fd is already ready 2022-12-29 11:31:52 +01:00
lorenz.stechauner f9b3cc29ab Update logger to use format 2022-12-29 11:09:45 +01:00
lorenz.stechauner 5c72a0cb60 Request handler 2022-12-29 10:27:54 +01:00
lorenz.stechauner cf3cff0746 Reset errno after EINTR 2022-12-29 10:14:14 +01:00
lorenz.stechauner b90ed61e03 Async working with connection handlers 2022-12-29 01:49:00 +01:00
lorenz.stechauner dfc659dec0 Renamed logger_alive to alive 2022-12-29 00:02:33 +01:00
lorenz.stechauner 096aeae23b Async working (in concept) 2022-12-28 16:40:31 +01:00
lorenz.stechauner cd97eca7d3 Add client_ctx_t in client_handler 2022-12-28 15:17:19 +01:00
lorenz.stechauner ce658ac965 move lib/cache to cache_handler 2022-12-19 15:27:38 +01:00
lorenz.stechauner dd4f768cc4 Logger and config refactor 2022-12-19 14:36:00 +01:00
lorenz.stechauner 45514f90ca Multi processing -> multi threading 2022-12-18 22:18:11 +01:00
lorenz.stechauner 44913c1e0e Refactor 2022-12-15 19:55:52 +01:00