Commit Graph
100 Commits
Author SHA1 Message Date
cozis 1f9411119a Add request timeouts 2025-12-12 22:36:27 +01:00
cozis b361125bc3 Add second argument to _Static_assert to silence clang warnings 2025-12-12 19:53:53 +01:00
cozis 04deae62d6 Replace http_/HTTP_ prefixes with chttp_/CHTTP_ 2025-12-09 12:12:21 +01:00
cozis db030b3834 Add missing OpenSSL include 2025-12-09 08:57:39 +01:00
cozis e686e477e2 Ignore socket events when an HTTP response is being built by the user 2025-12-03 18:40:26 +01:00
cozis f6d81c1a87 Add -Wall -Wextra flags to the build script and fix the resulting compiler warnings 2025-12-02 12:02:59 +01:00
cozis f1fd633356 Add Content-Length to HTTP requests 2025-11-29 21:28:56 +01:00
cozis 64b40dfac7 Close socket when an HTTP response is received 2025-11-29 19:56:54 +01:00
cozis 954bcb7e3e Add option for HTTPS clients to not verify the peer's certificate 2025-11-29 19:56:09 +01:00
cozis 008772aef1 Fix bug in response builder state machine 2025-11-27 21:02:31 +01:00
cozis 1ef6187b2d Add simplified client API (http_get, http_put, http_post, http_delete) 2025-11-27 09:50:41 +01:00
cozis 6a9ba6bbf4 Add HTTPS server examples 2025-11-27 09:24:46 +01:00
cozis 73086ca164 Add numbering prefix to examples 2025-11-27 09:09:13 +01:00
cozis 93c989b56f Add virtual hosts example 2025-11-27 09:00:27 +01:00
cozis b87a78a023 Add proxy example (draft) 2025-11-27 00:32:12 +01:00
cozis c4c41653f4 Add error codes 2025-11-26 22:38:37 +01:00
cozis a58dc241ef Rename http_request_builder_set_trace_bytes to *_trace 2025-11-26 21:13:56 +01:00
cozis 0c50cbff33 Separate http_request_builder_url into http_request_builder_method/_target 2025-11-26 21:11:39 +01:00
cozis 5706f12298 If a socket manager finds winsock uninitialized, it will initialize it and remember to deinitialize it at cleanup 2025-11-26 16:30:59 +01:00
cozis bb753ad8ee Add support for HTTPS, Windows, and Linux builds to Makefile 2025-11-26 16:10:52 +01:00
cozis 52ee89252c Properly consume socket events in the server when the socket manager reports them 2025-11-26 15:42:05 +01:00
cozis 749aef7c8d Add debug code to trace socket state transitions and fix bug in response parser where a space was consumed twice 2025-11-26 15:33:15 +01:00
cozis aa158980f5 Set expected certificate hostname when connecting to an HTTPS server 2025-11-23 23:54:10 +01:00
cozis 1be0c14415 Bug fix 2025-11-23 23:49:56 +01:00
cozis 9f0560fb9e Add http_client_wait_response for client who don't care about calling poll() directly 2025-11-23 23:39:48 +01:00
cozis f6b2c805c6 Fix HTTP request creation and simple client example 2025-11-23 23:27:08 +01:00
cozis 3c0aecb5f0 Bug fixes & cleanups 2025-11-23 23:07:08 +01:00
cozis 655289e542 Merge branch 'cookie_jar' into refactoring
# Conflicts:
#	chttp.h
#	src/client.h
2025-11-23 22:36:01 +01:00
cozis 39d90111c9 Refactoring of the HTTP client 2025-11-23 22:11:15 +01:00
cozis e5358d883b Add Cookie headers when starting an HTTP request 2025-11-23 19:22:38 +01:00
cozis fc49b55225 Add HTTP_CookieJar object to HTTP_Client 2025-11-23 17:38:53 +01:00
cozis 48ad83934b Progress on Set-Cookie header parser 2025-11-23 16:51:05 +01:00
cozis cb80bc3c14 Fix typo 2025-11-23 09:29:32 +01:00
cozis fa9b0e9919 Add zero-copy interface version of http_response_builder_body 2025-11-22 23:51:43 +01:00
cozis b881feb93a Define HTTP_SERVER_POLL_CAPACITY and HTTP_CLIENT_POLL_CAPACITY so that users can easily allocate poll arrays of the right size 2025-11-22 22:55:50 +01:00
cozis fe1c0d5b86 Draft of the Set-Cookie header parser 2025-11-22 22:31:29 +01:00
cozis 4ca5b67d8e Add a client example program and move examples to the examples/ folder 2025-11-22 00:13:43 +01:00
cozis eec1174047 Fix issues that caused the server to hang 2025-11-21 23:57:24 +01:00
cozis 54c02827be Bug fixes 2025-11-21 21:10:54 +01:00
cozis ccdd573e90 Add HTTPS support 2025-11-21 19:52:28 +01:00
cozis 3f76d1827e Add .gitignore and resolve simple TODOs 2025-11-21 18:39:28 +01:00
cozis 3c2ef70c66 Fix compiler errors 2025-11-21 18:30:35 +01:00
cozis aab1b8e7b8 Fix more compilation errors 2025-11-21 15:12:32 +01:00
cozis 879dc74e34 First version of the refactor 2025-11-21 12:53:03 +01:00
cozis 7be22fed4b Add comment to 060_virtual_hosts_over_https.c about adding entries to /etc/hosts for testing 2025-10-17 12:21:26 +02:00
cozis 17ad7ad383 Add http_match_host and update 060_virtual_hosts_over_https.c 2025-10-17 12:10:35 +02:00
cozis e26042e2e7 Allowing switching HTTPS builds on/off using the HTTPS Makefile parameter 2025-10-17 11:36:23 +02:00
cozis 13c578d347 Remove router 2025-10-17 10:50:49 +02:00
cozis a4f8f3abb7 Fix missing definition of SIZEOF 2025-09-23 09:44:36 +02:00
cozis b985a5faae Add HTTP_NOINCLUDE option 2025-09-23 09:36:40 +02:00
cozis 477d4bec4c Remove duplicate declaration of is_digit 2025-09-23 09:36:27 +02:00
cozis dc5376f8f3 Update chttp.c/.h 2025-09-23 09:35:36 +02:00
cozis d2fa677ac8 Add http_get_cookie, http_get_param, http_get_param_i 2025-09-21 10:47:48 +02:00
cozis b1021deb15 Add secure field to HTTP_Request to mark whether the underlying connection uses TLS or not 2025-09-18 09:19:38 +02:00
cozis a63e68f969 Add support for Transfer-Encoding 2025-07-28 16:32:31 +02:00
cozis 5d12070a29 Bug fix 2025-07-22 13:57:53 +02:00
cozis b99c4e9ccb Add beta-quality disclaimer 2025-07-22 12:25:47 +02:00
cozis 25f52444dd Add disclaimer 2025-07-22 12:19:20 +02:00
cozis 5c1cca6a2f Update README 2025-07-22 12:13:21 +02:00
cozis 536657b9ed Update README 2025-07-22 12:11:49 +02:00
cozis b73ad9f234 Update README 2025-07-22 12:07:26 +02:00
cozis 6412aab833 Update README 2025-07-22 12:03:49 +02:00
cozis f888b6b0a0 Update README 2025-07-22 12:02:09 +02:00
cozis 038df69372 Update README 2025-07-22 11:45:24 +02:00
cozis f810d284a9 Update README 2025-07-22 11:37:05 +02:00
cozis 2ec5c807fc Update README 2025-07-22 11:33:08 +02:00
cozis ecf5bedc43 Update README and move files to misc/ 2025-07-22 11:30:47 +02:00
cozis b7d8b82ec0 Remove resolved TODOs from the list 2025-07-21 23:33:28 +02:00
cozis c134de645b Rename HTTP_ResponseHandle to HTTP_ResponseBuilder 2025-07-21 23:30:32 +02:00
cozis a67d4dea9f Bug fixes 2025-07-21 23:19:11 +02:00
cozis 43627f81ab Initialize global state in the server examples 2025-07-21 22:56:12 +02:00
cozis 254bcbd666 Update README 2025-07-21 22:52:00 +02:00
cozis 73263da2c9 Fix the HTTPS build 2025-07-21 22:42:43 +02:00
cozis 51d0729aaf Fix Linux build bug 2025-07-21 21:58:26 +02:00
cozis 17b4c3d91a Improve windows support 2025-07-21 21:54:56 +02:00
cozis 58f8ace725 Add global state initialization functions 2025-07-21 21:37:02 +02:00
cozis a2912b5191 Refactoring for an improved event loop 2025-07-21 20:29:35 +02:00
cozis 5cb3977c3c Fix windows compilation errors 2025-07-21 12:06:23 +02:00
cozis acf4746611 Simplify amalgamation script 2025-07-21 02:21:33 +02:00
cozis c3bfb86707 Fix compiler errors 2025-07-20 23:53:23 +02:00
cozis 3b196546da Simplify print statements by using HTTP_UNPACK 2025-07-20 21:29:41 +02:00
cozis 1c6c0a75cf Remove compilation artifacts 2025-07-20 21:25:06 +02:00
cozis 3201eac013 Fix compiler errors 2025-07-20 21:19:58 +02:00
cozis 01bf34b58d Update README 2025-07-20 20:46:30 +02:00
cozis 8010e0ec1b Update README 2025-07-20 20:45:34 +02:00
cozis 9df891b409 Update README 2025-07-20 20:44:04 +02:00
cozis a19da3ce5f Update README 2025-07-20 20:30:22 +02:00
cozis f7892beb90 Add http_get, http_post, and the first client example 2025-07-20 19:56:52 +02:00
cozis 22e9dee5dc Add docs 2025-07-20 19:24:03 +02:00
cozis dba15c946e Rename http.c/.h to chttp.c/.h and improve amalgamation formatting 2025-07-20 18:33:51 +02:00
cozis 8be1b8e3d6 Update README 2025-07-20 17:42:55 +02:00
cozis 51cae898f8 Rewrite 2025-07-20 16:46:08 +02:00
cozis 939b20abf0 Draft of HTTP_Proxy and HTTP_ProxyEngine 2025-05-22 22:26:08 +02:00
cozis af4127bfb7 Add example using the HTTP engine with I/O completion ports 2025-05-13 00:59:24 +02:00
cozis 3def70928f Add blocking server example with engine 2025-05-13 00:04:53 +02:00
cozis 9b0248fb72 Add simple server example 2025-05-12 22:58:43 +02:00
cozis f725e63fb0 Add engine tests 2025-05-12 22:23:33 +02:00
cozis 2d4f062917 Rename http.c/h to tinyhttp.c/h 2025-05-08 00:03:12 +02:00
cozis 9ce165ae86 Fix README typos 2025-05-08 00:01:33 +02:00
cozis 24736bc780 Full rewrite 2025-05-07 23:57:07 +02:00