package tiny_httpd
Minimal HTTP server using good old threads
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.13.tar.gz
md5=74b50eb122ac51e59b794179dbaaee13
sha512=3c3043a176939dc3c95a3a5c2af007ecd32ffb8d211210e0c7ea0d1f61914446f28e60891029506e19c131d3ebd14cc532d581a592ace0130538f58de6e6d9ef
doc/CHANGES.html
0.13
- feat:
Server.runtakes?after_initparameter - remove dep on ounit2 and qtest
- expose
Response.make_void - Add OPTIONS method
- use ocamlformat on the code
- fix: SSE requires no body
- fix: get addr/port from the current socket
- fix: missing closing crlf in chunked streams
- fix: module Html was not exposed
- fix: close stream after Response.output
- fix(tiny-httpd-vfs-pack): allow redirections when fetching resources
0.12
- add dep on
seq - add a
Htmlmodule with combinators to produce html - add
Tiny_httpd_dir.VFSto emulate file systems - add a small program,
tiny-httpd-vfs-pack, to pack directories and files (local or behind a URL) into a OCaml module usingVFS - show small example of socket activation
0.11
- breaking: remove deprecated path handlers based on scanf
- breaking: more getter/setters for request/response, change signatures, make request/response private aliases
- fix: release semaphore in case of exception in accept
- feat: add a notion of Middleware
- feat: add
?middlewaresparam tocreate - feat: add
?get_time_sparam tocreate - feat: close connection if response's headers contains connection
- feat: store
start_timein request - feat: implement connection timeout using socket options Default is
max_keep_alive = -1.0which preserves the original behaviour. - feat: in server-sent-events, add a
close()function - refactor(zip): compression is now a middleware
- perf: pass
buf_sizein many places, set defaultbuf_sizeto 16kb - example: update
echoto provide a /stats/ endpoint using a middleware
0.10
- feat: allow socket activation by passing a raw unix socket to
create - fix:
Unix.acceptmay raise an exception (typicall Unix.EINTR, even with sigpipe blocked ?), prevent the server from stopping
0.9
- support handlers that stream server-sent events to client
0.8
- bump to ocaml 4.04
- Validate header key's character set (#15)
- perf: simpler parsing of headers
- fix: workaround for css/js in
http_of_dir(#16) - fix(urlencode): encode non ascii chars
0.7
- feat: add
rest_of_path_urlencodedand renameresttorest_of_path - feat:
http_of_dir: redirect to index.html if present - fix:
http_of_dir: do not url-encode '/' in paths - feat: add
Route.restto match the rest of the path - feat: printing routes
0.6
- feat: add
Route.tconstruct, deprecate scanf, add more structured path - feat: use chunked encoding for large string responses, in addition to streams
- refactor(echo): simplify code, use gzip aggressively
- accept http1.0
- fix: do not output a
content-lengthfor a chunked response - fix: set
transfer-encodingheader when returning a chunked stream - fix(zip): handle case where camlzip consumes 0 bytes
- feat(zip): also compress string responses if they're big
- add more debug msg
0.5
- new
tiny_httpd_camlziplibrary for handlingdeflatecompression - feat: expose
Headers.empty - fix: use the non-query path for routing
- feat(util): add some query related utils
0.4
- easy accessor to the query parameters in path
- fix: header field names are case insensitive
- doc: add note on jemalloc in the readme
- log error when closing client socket
0.3
- feat(http_of_dir): use
fileto guess mime type of file - feat: allow handlers to take streams
- feat(bin): disable uploading by default
- feat: add
Tiny_httpd_util.parse_queryfor query decoding - feat(bin): set charset to utf8
- feat: autodetect ipv6 address
- feat: support ipv6 address
- fix: missing crlf between chunks
- fix: read_all must return rather than blocking when done
- fix: proper amortized O(1) push in Buf.push
- fix:
%Xfor percent_encode; usepercent_decodeinparse_query
0.2
- feat(bin): count number of hidden files
- feat(bin): use
detailsfor hiding hidden files by default - fix: improved percent encoding of paths
- feat: add percent encoding/decoding
- feat(bin): better human-size display
- feat: in http_of_dir, sort entries and display their size
- fix(http_of_dir): handle bad symlinks
- improve docs and opam, tidy up for 0.1