SHWS - Simple Haskell Web Server
SHWS is a simple web server written in Haskell.
- handles HTTP/1.0 and HTTP/1.1 (persistent) connections and requests
- concurrent (can handle multiple connections at the same time)
- configurable via a configuration file
- client connection timeout
- only a basic subset of HTTP/1.0 and HTTP/1.1 is implemented (for example, only GET and HEAD methods are implemented)
- large files transfer can cause memory exhaustion
- ghc (6.8) with the following additional packages and modules:
- html (126.96.36.199)
- http (3001.0.4)
- hunit (188.8.131.52) - optional
- network (184.108.40.206)
- parallel (220.127.116.11)
- regex (0.93.1)
- stream (0.2.2)
- time (18.104.22.168)
- haddock (0.8) for generating documentation - optional
- simply run
makein the project's root directory
- to compile the project tester, run
./shws -f|--config-file CONFIG_FILE_PATH CONF_FILE_PATH - path to the configuration file (e.g. shws.cfg)
./shws -f ./default.cfg
Debian 5.0, kernel 2.6.28, x86_64
Petr Zemek email@example.com, 2009
Copyright (C) 2009 Petr Zemek firstname.lastname@example.org
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.