@hackage chu22012.11.20

FFI for Chu2 Agda Web Server Interface

Chu2 Agda Web Server Interface

hello world example

module Hello where

open import IO              using (return) renaming (run to io)
open import Data.List       using ([])
open import Function        using (const)
open import Chu2            using (response; OK; Application) 

hello-world-response = response OK [] ("Hello Agda!")

hello-world-app : Application
hello-world-app = const (return hello-world-response)

open import Chu2.Handler.SnapServer using (on-port_run)
main = io (on-port 3000 run hello-world-app)

Using Middleware

module Hello2 where

-- simple-logger middleware
open import Chu2.Middleware.SimpleLogger using (simple-logger)

open import IO              using (return) renaming (run to io)
open import Function        using (const)
open import Chu2            using (Application; default-response)

default-app : Application
default-app = const (return default-response)

app : Application
app = simple-logger default-app

open import Chu2.Handler.SnapServer using (on-port_run)
main = io (on-port 3001 run app)

Full spec

Chu2.agda

Note