-
Notifications
You must be signed in to change notification settings - Fork 2
/
salvia.cabal
98 lines (91 loc) · 4.33 KB
/
salvia.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Name: salvia
Version: 1.2.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: [email protected]
Build-Type: Simple
Library
GHC-Options: -Wall -fno-warn-orphans
HS-Source-Dirs: src
Build-Depends: base ==4.*
, bytestring ==0.9.*
, concurrent-extra == 0.4.*
, containers >= 0.2 && < 0.4
, directory ==1.0.*
, fclabels ==0.9.*
, monads-fd < 0.2
, MonadCatchIO-transformers ==0.2.*
, network >= 2.2.1.7 && < 2.3
, old-locale ==1.0.*
, process ==1.0.*
, pureMD5 >=1.0 && < 1.2
, random ==1.0.*
, safe ==0.2.*
, salvia-protocol ==1.1.*
, split ==0.1.*
, stm >= 2.1.2
, text >= 0.5 && < 0.8
, time ==1.1.*
, transformers < 0.3
, unix >= 2.3 && < 2.5
, utf8-string ==0.3.*
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