Name: salvia Version: 1.0.0 Description: Salvia is a feature rich modular web server and web application framework that can be used to write dynamic websites in Haskell. From the lower level protocol code up to the high level application code, everything is written as a Salvia handler. This approach makes the server extremely extensible. To see a demo of a Salvia website, please see the /salvia-demo/ package. . All the low level protocol code can be found in the /salvia-protocol/ package, which exposes the datatypes, parsers and pretty-printers for the URI, HTTP, Cookie and MIME protocols. . This Salvia package itself can be separated into three different parts: the interface, the handlers and the implementation. The /interface/ module defines a number of type classes that the user can build the web application against. Reading the request object, writing to the response, or gaining direct access to the socket, all of these actions are reflected using one type class aspect in the interface. The /handlers/ are self contained modules that implement a single aspect of the Salvia web server. The handlers expose their interface requirements in their type context. Salvia can have multiple /implementations/ which can be switched by using different instances for the interface type classes. This package has only one implementation, a simple accepting socket loop server. The /salvia-extras/ package has two additional implementations. Keeping a clear distinction between the abstract server aspects and the actual implementation makes it very easy to migrate existing web application to different back-ends. Synopsis: Modular web application framework. Cabal-version: >= 1.6 Category: Network, Web License: BSD3 License-file: LICENSE Author: Sebastiaan Visser Maintainer: sfvisser@cs.uu.nl Build-Type: Simple Library GHC-Options: -Wall -fno-warn-orphans HS-Source-Dirs: src Build-Depends: base ==4.*, bytestring ==0.9.*, containers >= 0.2 && < 0.4, directory ==1.0.*, fclabels ==0.4.*, MaybeT-transformers == 0.1.*, monads-fd ==0.0.*, network >= 2.2.1.7 && < 2.3, old-locale ==1.0.*, process ==1.0.*, threadmanager ==0.1.3, pureMD5 ==1.0.*, random ==1.0.*, safe ==0.2.*, stm ==2.1.*, time ==1.1.*, transformers ==0.1.*, unix >= 2.3 && < 2.5, utf8-string ==0.3.*, salvia-protocol ==1.0.*, split ==0.1.*, text >= 0.5 && < 0.8 Exposed-modules: Network.Salvia Network.Salvia.Interface Network.Salvia.Handlers Network.Salvia.Impl Network.Salvia.Impl.Config Network.Salvia.Impl.Context Network.Salvia.Impl.Handler Network.Salvia.Impl.Server Network.Salvia.Handler.Banner Network.Salvia.Handler.Body Network.Salvia.Handler.CGI Network.Salvia.Handler.Close Network.Salvia.Handler.Cookie Network.Salvia.Handler.Directory Network.Salvia.Handler.Dispatching Network.Salvia.Handler.Environment Network.Salvia.Handler.Error Network.Salvia.Handler.Extension Network.Salvia.Handler.File Network.Salvia.Handler.FileSystem Network.Salvia.Handler.Head Network.Salvia.Handler.Log Network.Salvia.Handler.Method Network.Salvia.Handler.Parser Network.Salvia.Handler.Path Network.Salvia.Handler.Printer Network.Salvia.Handler.Put Network.Salvia.Handler.Range Network.Salvia.Handler.Redirect Network.Salvia.Handler.Rewrite Network.Salvia.Handler.VirtualHosting