Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

63 lines (41 sloc) 1.892 kB



  • Fix from Christian Lundgren for browsers that include spaces in the value of the Content-Length header.


  • Added support for sending ranges of a file with sendfile by returning {Code, Headers, {file, Filename, {Offset, Length}}}. If no offset and length is specified, the entire file is sent. The user must provide an appropriate "Content-Length" and "Content-Range" header, see the example in elli_example_callback.erl ( Thanks Vincent Siliakus (zambal).


  • Breaking change: Timeouts used in the HTTP protocol are now configurable. To implement this, changing a record and some callbacks was necessary. To upgrade, a restart of Elli is needed.

  • Elli now supports pipelining of any type of request. Some proxies or special clients (like ibrowse) will pipeline requests to reduce latency.

  • If there are no more file descriptors, Elli will shut down. This mimics the behaviour found in Yaws.

  • Chunked transfer responses will now exit the Elli process when the client closes the connection. Sending a synchronous chunk will return {error, closed} if client has closed the connection and the chunk_complete event is sent to your callback including which end closed the connection.


  • Breaking change: moved elli_access_log into a separate repository at Thanks martinrehfeld.


  • Added elli_test which makes it easy to write unit tests for your callbacks. Thanks anha0825.

  • Added sendfile support. Thanks chrisavl.


  • Added option to specify listen IP address. Thanks hukl.


  • Don't look up the peer ip address on every request anymore, do it on demand using elli_request:peer/1.


  • Initial release.
Jump to Line
Something went wrong with that request. Please try again.