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.
- update changelog in docs (
index.html
, updatehistory
andstatus
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 asX.Y.Z
- push commit and tag
- upload to luarocks
- test luarocks installation