HTTP Library for Lua. Supports HTTP(S) 1.0, 1.1 and 2.0; client and server.
Clone or download

HTTP library for Lua.


  • Optionally asynchronous (including DNS lookups and TLS)
  • Supports HTTP(S) version 1.0, 1.1 and 2
  • Functionality for both client and server
  • Cookie Management
  • Websockets
  • Compatible with Lua 5.1, 5.2, 5.3 and LuaJIT


Can be found at


Build Status Coverage Status CII Best Practices


It's recommended to install lua-http by using luarocks. This will automatically install run-time lua dependencies for you.

$ luarocks install http


To use gzip compression you need one of:

To check cookies against a public suffix list:

If using lua < 5.3 you will need

If using lua 5.1 you will need

For running tests


Getting started

  • Clone the repo:

    $ git clone
    $ cd lua-http
  • Install dependencies

    $ luarocks install --only-deps http-scm-0.rockspec
  • Lint the code (check for common programming errors)

    $ luacheck .
  • Run tests and view coverage report (install tools first)

    $ busted -c
    $ luacov && less
  • Install your local copy:

    $ luarocks make http-scm-0.rockspec

Generating documentation

Documentation is written in markdown and intended to be consumed by pandoc. See the doc/ directory for more information.