/copas

Copas is a dispatcher based on coroutines that can be used by TCP/IP servers.

Primary LanguageLuaMIT LicenseMIT

Copas 4.7

Unix build Coveralls code coverage Luacheck SemVer Licence

Copas is a dispatcher based on coroutines that can be used for asynchronous networking. For example TCP or UDP based servers. But it also features timers and client support for http(s), ftp and smtp requests.

It uses LuaSocket as the interface with the TCP/IP stack and LuaSec for ssl support.

A server or thread registered with Copas should provide a handler for requests and use Copas socket functions to send the response. Copas loops through requests and invokes the corresponding handlers. For a full implementation of a Copas HTTP server you can refer to Xavante as an example.

Copas is free software and uses the same license as Lua (MIT), and can be downloaded from its GitHub page.

The easiest way to install Copas is through LuaRocks:

luarocks install copas

For more details see the documentation.

Releasing a new version

  • update changelog in docs (index.html, update history and status sections)
  • update version in copas.lua
  • update version at the top of this README,
  • update copyright years if needed
  • update rockspec
  • commit as release X.Y.Z
  • tag as vX_Y_Z and as X.Y.Z
  • push commit and tag
  • upload to luarocks
  • test luarocks installation