Commit graph

300 commits

Author SHA1 Message Date
Simon Cruanes
4a78eeb69c
html: ability to write a html document to an IO.Out_channel.t 2023-07-18 14:14:22 -04:00
Simon Cruanes
41be8908d3
feat: add IO.Out_channel.output_char function 2023-07-18 14:14:05 -04:00
Simon Cruanes
29de702c55
add IO.Out_channel.of_buffer 2023-07-18 13:57:12 -04:00
Simon Cruanes
6137c20801
doc 2023-07-12 20:20:14 -04:00
Simon Cruanes
7b094b55ad
many fixes 2023-07-11 11:31:06 -04:00
Simon Cruanes
de23d9b2a3
wip: add IO.Writer.t, a push based stream
This is more convenient than our existing streams when it comes to
writing a body. The user can just get an output channel and write to it,
flush it, etc. as they please. This should also simplify compression…
once it works.
2023-07-11 10:57:08 -04:00
Simon Cruanes
832c4bd4df
more docs 2023-07-11 10:01:39 -04:00
Simon Cruanes
ec2f2f6f2e
add Server.run_exn 2023-07-11 10:01:33 -04:00
Simon Cruanes
ecc9f07748
doc 2023-07-11 09:52:55 -04:00
Simon Cruanes
bc4bce8083
doc 2023-06-26 16:05:48 -04:00
Simon Cruanes
9a587918fb
doc 2023-06-26 16:04:13 -04:00
Simon Cruanes
0adebc304b fix issue for 4.04 2023-06-23 17:58:11 -04:00
Simon Cruanes
b9faebffe4 use a resource pool to recycle buffers 2023-06-23 17:58:11 -04:00
Simon Cruanes
5ba1ff0de4 add Tiny_httpd_pool 2023-06-23 17:58:11 -04:00
Simon Cruanes
3f3d3e3464 add shims for Atomic on OCaml < 4.12 2023-06-23 17:58:11 -04:00
Simon Cruanes
f845f1265b
compat: use Eio_unix.Stdenv.base 2023-06-21 00:23:35 -04:00
Simon Cruanes
6c499584b8
cleanup eio 2023-06-21 00:23:35 -04:00
Simon Cruanes
5e0a634c10
tiny_httpd_eio: do not use Eio's clock for our internals 2023-06-21 00:23:11 -04:00
Simon Cruanes
79cbcca4c1
cleanup: remove unused function in Tiny_httpd_server.IO_BACKEND 2023-06-21 00:23:11 -04:00
Simon Cruanes
8620fe688d
eio: reimplement some buffering 2023-06-21 00:23:10 -04:00
Simon Cruanes
e00c3a5d63
wip: tiny_httpd_eio, an alternative IO/concurrency backend based on Eio 2023-06-21 00:23:09 -04:00
Simon Cruanes
56bb2db880
doc 2023-06-20 23:04:43 -04:00
Simon Cruanes
c907dc6af1
tighten flags; little fix 2023-06-20 23:03:32 -04:00
Simon Cruanes
5d7637becc
server: add IO_BACKEND abstraction; implement a unix version of it
this doesn't change the `create`+`run` version, but makes it possible to
create a server that doesn't use unix IOs.
2023-06-20 23:03:31 -04:00
Simon Cruanes
a32297ac6c
add Tiny_httpd_io module, abstraction over IOs
abstract channels, and abstract TCP server.
2023-06-20 23:03:30 -04:00
Simon Cruanes
ee310b5262
fix: description for 401 code 2023-06-20 23:03:29 -04:00
Simon Cruanes
ac17e61a81
prepare for 0.13 2023-05-24 16:14:13 -04:00
Simon Cruanes
202ef14f59
doc 2023-05-24 15:42:32 -04:00
Simon Cruanes
163d720641
Merge branch 'ocamlformat' 2023-05-24 15:41:58 -04:00
Simon Cruanes
aa27963c5a
improve docs 2023-05-24 15:39:05 -04:00
Simon Cruanes
88bfb9c109
feat: Server.run takes ?after_init parameter
also use it in http_of_dir to print the actual port.
2023-05-24 15:38:38 -04:00
Simon Cruanes
04fb648576
update docs 2023-05-24 15:21:49 -04:00
Simon Cruanes
82ebf85ee7
remove dep on ounit2 and qtest 2023-05-24 15:13:27 -04:00
Simon Cruanes
61ee931b6c
fix warnings 2023-05-24 15:03:32 -04:00
Simon Cruanes
0908d71e19
ocamlformat 2023-05-23 17:40:18 -04:00
Simon Cruanes
30a355da5a
fix: SSE requires no body 2023-05-23 17:39:19 -04:00
Simon Cruanes
997f7aa868
expose Response.make_void
it only has no body if the http code is compatible with it.
close #62
2023-05-23 17:18:05 -04:00
Stephane Legrand
9c2cf0900d Add OPTIONS method 2023-05-07 20:55:46 -04:00
Simon Cruanes
53032c993e
fix: get addr/port from the current socket 2023-04-03 12:32:13 -04:00
Simon Cruanes
6f03c521a6
fix missing closing crlf in chunked streams 2023-02-04 23:52:30 -05:00
craff
095487ce85 close stream after Response.output 2023-01-18 17:06:25 -10:00
craff
8c7b764b30 forgot to catch Unix_error 2022-12-09 07:36:05 -10:00
craff
462fbd661c use of_fd instead of_chan everywhere 2022-12-09 03:26:44 -10:00
craff
915317438f use directly file descriptor for input to avoid stacking buffers 2022-12-09 03:17:51 -10:00
Christophe Raffalli
b52407ea00 Index seems not to work wirg non empty prefix
Here is a proposed fix ?
2022-12-04 14:10:56 -05:00
Simon Cruanes
c8d89e24be
fix(tiny-httpd-vfs-pack): allow redirections when fetching resources 2022-04-09 22:25:58 -04:00
Simon Cruanes
7d74dacbea
add @since 2022-04-08 11:40:14 -04:00
Simon Cruanes
4bf7c267d6
fix: module Html was not exposed 2022-04-02 23:48:42 -04:00
Simon Cruanes
a78c48955b
prepare for 0.12 2022-03-31 08:45:39 -04:00
Simon Cruanes
ad92acbee2
bugfixes in streams 2022-03-31 08:45:39 -04:00