Listen to HTTP requests and handle them in arbitrary ways.
In HTTP connections, there is a client side which sends requests (such as GET and POST), and a server side which receives and parses them. Often, the server side is a web server which responds to requests by sending some HTML pages back. But sometimes it's just a listener.
For example, a Git server may offer web hooks. It could send a POST request whenever a commit is made, or a new repository is created. You then set up a program that listens to these POSTs and reacts by reporting them to the project's IRC channel or a mailing list.
Most HTTP packages assume a typical web server which handles requests by returning HTTP responses. This package tries to fill a gap by providing an API for simple listeners which don't necessarily serve web pages, and can do things like reporting to IRC.
Some features are missing and will be added soon:
Connection timeouts
Logging (currently errors are written to stdout, no other logging done)
See the .cabal file for more info and link to project website the version control.
The official download location is Hackage:
http://hackage.haskell.org/package/http-listen
This library is free software, and is committed to software freedom. It is released to the public domain using the CC0 Public Domain Dedication. For the boring "legal" details see the file 'COPYING'.
See the file 'INSTALL' for hints on installation. The file 'ChangeLog' explains how to see the history log of the changes done in the code. 'NEWS' provides a friendly overview of the changes for each release.