package tiny_httpd_camlzip
Interface to camlzip for tiny_httpd
Install
dune-project
Dependency
Authors
Maintainers
Sources
tiny_httpd-0.18.tbz
sha256=ef806444b2f9e53d10976b9124902560d0855124433537080e6d0bec48d202e5
sha512=539530eb9e511b6ed4d69bb083f421d5f51b183c347c116a52f24210f30b1c9b14a029e2b82d6e0d698c74ab75ba5c307a1976711558a1419df287335b2a8f51
doc/CHANGES.html
0.17
- add optional middlewares to tiny_httpd_ws
- add
Head_middleware.trivial - add
Head_middleware.t; accept it for SSE/websocket - add
Request.pp_withwhich is a customizable printer - expose
Response.Bad_req - use
iostreamfor IOs - add a
hmap-typed field to requests, to carry request specific data across middlewares - http_of_dir: ability to setup socket timeout
- add
tiny_httpd.ws, a websocket library - add
Response_code.is_success - fix: No setting of sigprocmask on Windows
- fix: give the correct code+error if protocol upgrade fails
- remove potentially security-leaking debug line
- fix: avoid collisions in
Mime_private module - fix middlewares: merge-sort per-request middleares and global ones
- fix tiny_httpd dir: handle html files
- perf: optim in read_line
- perf: remove some uses of scanf in parsing
- require iostream-camlzip >= 0.2.1
- add optional dependency on
logs - logs is a testdep for tiny_httpd_camlzip
0.16
- feat: add
Request.client_addraccessor - feat: add
tiny_httpd.prometheus, a simple sub-library to expose prometheus metrics over HTTP. - feat: add optional dependency on
logs
0.15
- fix: do not block in
accept, enabling more graceful shutdown - improve help message for tiny-httpd-vfs-pack
- security: zero out buffers from pool before reusing them
0.14
- breaking:
set_top_handlertakes a stream request, for more generality - Don't let client handling threads handle SIGINT/SIGHUP
- improve termination behavior (wait for threads to terminate when shutting down server)
- Preserve client address down to Request.t
- add
Tiny_httpd_iomodule, abstraction over IOs (output/input) as better IO channels than the stdlib's - add
Tiny_httpd_html.to_writer - add
IO.Writer.t, a push based stream. - add
Server.run_exn - add
Tiny_httpd_pool - server: add
IO_BACKENDabstraction; implement a unix version of it - perf: use TCP_NODELAY for client sockets
- perf: use a resource pool to recycle buffers, improves memory consumption and GC pressure
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