Hi All,
I'm happy to announce the first release of lua-http.
lua-http is a library that hopes to provide all HTTP operations you
should ever need.
In addition to all the low-level parsing and serialising operations
you might expect,
lua-http provides high level interfaces for writing your own HTTP
server or performing HTTP requests.
I'd endeavoured to make behaviour as configurable as possible yet have
sensible defaults.
Features:
- Support for HTTP versions 1, 1.1 and 2 (yes! HTTP/2 support)
- Provides both client and server APIs
- Friendly request API with sensible defaults for security
- All operations are fully non-blocking and can be managed with cqueues
- Support for WebSockets (client and server), including ping/pong,
binary data transfer and TLS encryption.
- Transport Layer Security (TLS) - lua-http supports HTTPS and WSS
via luaossl.
- luasocket compatibility API if you're looking to use lua-http with
older projects.
Check the manual to learn the API, or read through and run the samples
in the 'examples/' directory in the source tree.
This release has been a long time in the making!
For an unreleased library it already has over a hundred stars on
Github, and has had contributions from 5 others.
I'd like to give a special thanks to @RussellHaley, @ChickenNuggers,
@leafo, @vavrusa and @torhve for being early users and providing
feedback, as well as @wahern for dealing with all my cqueues and
luaossl feature requests.
Links:
- Release page: https://github.com/daurnimator/lua-http/releases/tag/v0.1
- Homepage: https://github.com/daurnimator/lua-http
- Documentation: https://daurnimator.github.io/lua-http/
- Bug tracker: https://github.com/daurnimator/lua-http/issues
- On luarocks: https://luarocks.org/modules/daurnimator/http
- Examples: https://github.com/daurnimator/lua-http/tree/master/examples
- Me: http://daurnimator.com/
Enjoy!