Commit graph

204 commits

Author SHA1 Message Date
Simon Cruanes
b684835901
store http version in request, and close connections when needed
cases include:
- http 1.0 and no "connection: keep-alive"
- http 1.1 and "connection: close"
2021-12-16 23:19:48 -05:00
Simon Cruanes
fe36acf198
details 2021-12-16 10:54:11 -05:00
Simon Cruanes
b5e50fac59
Merge pull request #27 from c-cube/wip-middleware
add middlewares
2021-12-16 10:52:47 -05:00
Simon Cruanes
b7fd8da9a0
Merge pull request #32 from craff/wip-middleware
add start time to query, improve stats middleware
2021-12-16 09:12:10 -05:00
craff
51be9c0c8f real fix in echo! 2021-12-15 20:19:42 -10:00
craff
ffc18a5617 fix in echo 2021-12-15 20:13:32 -10:00
Simon Cruanes
accdb1e0ac
Update src/Tiny_httpd.mli 2021-12-16 00:26:18 -05:00
Simon Cruanes
7b14cbd6a7
rename time into start_time 2021-12-16 00:26:07 -05:00
craff
672e33c827 detailed time in echo example 2021-12-15 18:18:52 -10:00
craff
4770e3e729 Timing start of request 2021-12-15 18:14:17 -10:00
Simon Cruanes
7685505f28
example: update echo to provide a /stats/ endpoint using a middleware 2021-12-15 16:27:28 -05:00
Simon Cruanes
1a9b837888
remove dead code 2021-12-15 16:11:07 -05:00
Simon Cruanes
5827328993
feat: add ?middlewares param to create 2021-12-12 17:06:46 -05:00
Simon Cruanes
e05e8867db
update test a bit 2021-12-12 17:06:46 -05:00
Simon Cruanes
1a88ea7d74
refactor(zip): compression is now a middleware 2021-12-12 17:06:46 -05:00
Simon Cruanes
9e26576740
breaking: more getter/setters for request/response, change signature
some setters now take request last, to favor composition with |>
2021-12-12 17:06:46 -05:00
Simon Cruanes
ba31534551
feat: pass buf_size in many places, set default buf_size to 16kb 2021-12-12 17:06:46 -05:00
Simon Cruanes
0ae9ec4426
feat(camlzip): change default buffer size to 16kb 2021-12-12 17:06:45 -05:00
Simon Cruanes
8655200bd7
deprecate, add todos 2021-12-12 17:06:45 -05:00
Simon Cruanes
6b0000eb6e
feat: add a notion of Middleware
this subsumes and deprecates the encoding/decoding callbacks.
2021-12-12 17:06:43 -05:00
Simon Cruanes
2d2ffc722a
remove deprecated path handlers based on scanf 2021-12-12 17:01:51 -05:00
Simon Cruanes
267d29d6c7
Merge pull request #30 from craff/master
release semaphore in case of exception in accept
2021-12-12 12:08:01 -05:00
craff
10b64c2a16 put back active_connections 2021-12-11 23:50:06 -10:00
craff
b539b4f9ba timout using socket options 2021-12-11 23:48:27 -10:00
craff
85f64caf87 kill %1 in test is not robust enough 2021-12-11 23:27:35 -10:00
craff
a130c4ea35 release semaphore in case of exception in accept 2021-12-11 23:21:47 -10:00
Simon Cruanes
b468854626
test: use different ports for each test, run some targets only on linux 2021-12-11 16:32:15 -05:00
Simon Cruanes
bcce3e22dc
CI: test only on linux 2021-12-11 16:08:16 -05:00
Simon Cruanes
b4667e9686
test: fix production of data file 2021-12-11 13:20:18 -05:00
Simon Cruanes
8d1a71e625
try to use conf-libcurl 2021-12-11 11:00:25 -05:00
Simon Cruanes
8813dd64f9
add test for download 2021-12-11 10:19:02 -05:00
Simon Cruanes
69c16b0a5d
add an upload test 2021-12-11 10:14:07 -05:00
Simon Cruanes
ed4c731523
more tests, including a small sse count 2021-12-11 10:02:32 -05:00
Simon Cruanes
c8982c8836
move echo from src/examples/ to examples/ 2021-12-11 10:02:24 -05:00
Simon Cruanes
89344f46f0
feat(server-sent): add a close() function 2021-12-11 10:01:55 -05:00
Simon Cruanes
b5269f5b05
small test 2021-12-11 09:46:33 -05:00
Simon Cruanes
dc72dad5db
revert: remove timeout handling for now
This reverts commit 6536bfeeb3.
2021-12-11 09:32:55 -05:00
Simon Cruanes
6536bfeeb3
fix: when reading from unix FD, use a loop to handle signals 2021-12-11 09:13:16 -05:00
Simon Cruanes
f316e66c15
switch from "available" to "active" connections 2021-12-11 09:10:29 -05:00
Simon Cruanes
6dcae7f996
Merge pull request #23 from craff/master
max_keep_alive and non blocking reading of request
2021-12-11 09:10:22 -05:00
craff
c3265af08f moved back acquire before accept but inside the try ... with ... one never knowns 2021-12-10 12:49:51 -10:00
craff
97eeaf96dc make accessible to the end user the number of available connections 2021-12-08 17:54:08 -10:00
craff
9b4a1b1197 remove mutex to get available_connections 2021-12-08 17:47:53 -10:00
craff
8da6967039 Merge branch 'master' of github.com:craff/tiny_httpd 2021-12-08 16:41:07 -10:00
craff
e87428ae51 release semaphore does not return anything anymore 2021-12-08 16:38:59 -10:00
Christophe Raffalli
024a774f39
Update src/Tiny_httpd.mli
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2021-12-08 16:25:07 -10:00
craff
9e9fe32347 only set non blocking for reading request, not to write answer 2021-12-08 12:07:35 -10:00
Christophe Raffalli
b394527709
Merge branch 'c-cube:master' into master 2021-12-08 11:48:58 -10:00
craff
4c7d27dadd Added a max_keep_alive and moved to a non blocking reading of request not to loose connection slot.
Default is max_keep_alive = -1.0 which keeps the original behaviour.
2021-12-08 11:46:01 -10:00
Simon Cruanes
ff70d7df8b
prepare for 0.10 2021-11-30 09:45:27 -05:00