Skip to content

Commit

Permalink
Merge pull request #112 from paulo-ferraz-oliveira/feature/ex_doc
Browse files Browse the repository at this point in the history
Move to ex_doc -style documentation
  • Loading branch information
tsloughter authored Nov 15, 2024
2 parents 1512481 + 828b981 commit c874c42
Show file tree
Hide file tree
Showing 38 changed files with 279 additions and 2,590 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,6 @@ jobs:
with:
files: _build/test/covertool/elli.covertool.xml
env_vars: OTP_VERSION

- name: Generate doc
run: rebar3 ex_doc
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
.rebar3
doc/*.html
!doc/tpl.html
_build
.dialyzer.plt
.rebar
rebar3.crashdump
doc
174 changes: 86 additions & 88 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,189 +2,187 @@

## pre-v4.0.0

* Headers are now properly treated as case-insensitive
* Original headers that have not had `string:casefold/1` run on each header
name are still available in the request through `elli_request:original_headers`
* Headers are now properly treated as case-insensitive
* Original headers that have not had `string:casefold/1` run on each header
name are still available in the request through `elli_request:original_headers`

## v3.3.0

* Do not use x-forwarded-for for peer #75
* Handle arguments with no value in (post|get)_arg_decoded #82
* Fix compile-time warnings on missing record info. from aleppo #81
* Do not use x-forwarded-for for peer #75
* Handle arguments with no value in (post|get)_arg_decoded #82
* Fix compile-time warnings on missing record info. from aleppo #81

## v3.2.0

* Quell warnings on OTP-21: https://github.com/elli-lib/elli/pull/61
* Quell warnings on OTP-21: <https://github.com/elli-lib/elli/pull/61>

* Generate HTML docs: https://github.com/elli-lib/elli/pull/58
* Generate HTML docs: <https://github.com/elli-lib/elli/pull/58>

* Add OTP-21 to Travis build matrix: https://github.com/elli-lib/elli/pull/62
* Add OTP-21 to Travis build matrix: <https://github.com/elli-lib/elli/pull/62>

* Remove unnecessary `stacktrace_compat` dependency: https://github.com/elli-lib/elli/pull/63
* Remove unnecessary `stacktrace_compat` dependency: <https://github.com/elli-lib/elli/pull/63>

* Export `elli_request/uri_decode/1` and improve performance: https://github.com/elli-lib/elli/pull/67
* Export `elli_request:uri_decode/1` and improve performance: <https://github.com/elli-lib/elli/pull/67>

* Update Travis config: https://github.com/elli-lib/elli/pull/69
* Update Travis config: <https://github.com/elli-lib/elli/pull/69>

* Drop support for OTP-16: https://github.com/elli-lib/elli/pull/71
* Drop support for OTP-16: <https://github.com/elli-lib/elli/pull/71>

* Prefer `OTP_RELEASE` over `rebar_erl_vsn` plugin: https://github.com/elli-lib/elli/pull/73
* Prefer `OTP_RELEASE` over `rebar_erl_vsn` plugin: <https://github.com/elli-lib/elli/pull/73>

* Remove old `maintainers` metadata: https://github.com/elli-lib/elli/pull/74
* Remove old `maintainers` metadata: <https://github.com/elli-lib/elli/pull/74>

## v3.1.0

* Update docs: https://github.com/elli-lib/elli/pull/57
* Update docs: <https://github.com/elli-lib/elli/pull/57>

* Logging and stacktrace OTP-21 support: https://github.com/elli-lib/elli/pull/55
* Logging and stacktrace OTP-21 support: <https://github.com/elli-lib/elli/pull/55>

* Include req_body size in sizes list: https://github.com/elli-lib/elli/pull/52
* Include req_body size in sizes list: <https://github.com/elli-lib/elli/pull/52>

* Update CHANGELOG.md for 3.0.0: https://github.com/elli-lib/elli/pull/49
* Update CHANGELOG.md for 3.0.0: <https://github.com/elli-lib/elli/pull/49>

## v3.0.0

* `scheme`, `host`, and `port` added to the `#req{}` record. Corresponding
helper functions added to the `elli_request` module.
* `scheme`, `host`, and `port` added to the `#req{}` record. Corresponding
helper functions added to the `elli_request` module.

## v2.1.2

* Update dependencies and re-enable linting
* Update dependencies and re-enable linting

* Increase test coverage
* Increase test coverage

* Declare optional callbacks to elli_handler
* Declare optional callbacks to elli_handler

* Add TLS sendfile implementation by James Fish (from Andrew Thompson)
* Add TLS sendfile implementation by James Fish (from Andrew Thompson)

* Use hackney instead of httpc in tests, due to httpc bug
* Use hackney instead of httpc in tests, due to httpc bug

## v2.0.2

* Adapt [knutin/elli#108](https://github.com/knutin/elli/pull/108) by Michael Zazaian
* Adapt [knutin/elli#108](https://github.com/knutin/elli/pull/108) by Michael Zazaian

* Incomplete request regression fix by Evan Vigil-McClanahan
* Incomplete request regression fix by Evan Vigil-McClanahan

* Handle binary URIs on OTP >=20
* Handle binary URIs on OTP >=20

* Bespoke uri_decode/1 to obviate inets dependency by Christoffer Vikström
* Bespoke uri_decode/1 to obviate inets dependency by Christoffer Vikström

## v2.0.1

* Miscellaneous tooling, test, and type spec tweaks
* Miscellaneous tooling, test, and type spec tweaks

* Helper functions to reduce redundancy
* Helper functions to reduce redundancy

* Request start timing fix
* Request start timing fix

## v2.0.0

* Code and documentation cleanup
* Code and documentation cleanup

* Instrumentation facilities
* Instrumentation facilities

* RFC 2616 section 8.2.3 implementation by Martin Karlsson
* RFC 2616 section 8.2.3 implementation by Martin Karlsson

* Send 500 and close connection if file operations fail
* Send 500 and close connection if file operations fail

## v1.0.5

* Optimization of SSL accept by Tristan Sloughter
* Optimization of SSL accept by Tristan Sloughter

* Dependency cleanup by Adam Lindberg
* Dependency cleanup by Adam Lindberg

## v1.0.4

* OTP 18.0 compatibility, contributed by Florian Odronitz.
* OTP 18.0 compatibility, contributed by Florian Odronitz.

## v1.0.3

* Various internal cleanup fixes from Andreas Stenius (github.com/kaos)
* Various internal cleanup fixes from Andreas Stenius (github.com/kaos)

## v1.0.2

* Added `elli_request:get_args_decoded/1` which returns the list of
query args decoded each time it's called.

* Added `elli_request:get_args_decoded/1` which returns the list of
query args decoded each time it's called.

## v1.0.1

* Fix bug in SSL acceptor pool where due to failed handshakes, Elli
runs out of acceptors. Thanks to Stefan Grundmann.
* Fix bug in SSL acceptor pool where due to failed handshakes, Elli
runs out of acceptors. Thanks to Stefan Grundmann.

* In case a handler (or middleware) returns a response Elli does not
understand, Elli will now respond with a 500 error. Thanks to
Johannes Huning.
* In case a handler (or middleware) returns a response Elli does not
understand, Elli will now respond with a 500 error. Thanks to
Johannes Huning.

* Added `elli_request:get_arg_decoded/2,3` which HTTP URI decodes the
value passed in the request. Thanks to Mariano Valles.
* Added `elli_request:get_arg_decoded/2,3` which HTTP URI decodes the
value passed in the request. Thanks to Mariano Valles.

## v1.0

* SSL using built-in ssl from Erlang/OTP. Thanks to Maas-Maarten Zeeman.
* SSL using built-in ssl from Erlang/OTP. Thanks to Maas-Maarten Zeeman.

* "Handover" a socket to user code, making it possible to implement
WebSockets(https://github.com/mmzeeman/elli_websocket
* "Handover" a socket to user code, making it possible to implement
WebSockets(<https://github.com/mmzeeman/elli_websocket>).

* Type fixes from Ingo Struck and Andreas Hasselberg.
* Type fixes from Ingo Struck and Andreas Hasselberg.

## v0.4.1

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

## v0.4

* 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`
(https://github.com/knutin/elli/blob/master/src/elli_example_callback.erl#L99). Thanks
Vincent Siliakus (zambal).

* 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`
(<https://github.com/knutin/elli/blob/master/src/elli_example_callback.erl#L99>).
Thanks Vincent Siliakus (zambal).

## v0.3

* 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.
* 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.
* 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.
* 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.
* 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.

## v0.2.0

* Breaking change: moved elli_access_log into a separate repository
at github.com/wooga/elli_access_log. Thanks martinrehfeld.
* Breaking change: moved elli_access_log into a separate repository
at github.com/wooga/elli_access_log. Thanks martinrehfeld.

## v0.1.3

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

* Added sendfile support. Thanks chrisavl.
* Added sendfile support. Thanks chrisavl.

## v0.1.2

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

## v0.1.1

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

## v0.1

* Initial release.
* Initial release.
Loading

0 comments on commit c874c42

Please sign in to comment.