Chu2 Agda Web Server Interface =============================== ## hello world example ```agda module Hello where open import IO.Primitive using (return) open import Data.List using ([]) open import Chu2.ByteString using (pack) open import Function using (_$_; const) open import Chu2 using (response; OK; Application) hello-world-response = response OK [] (pack "Hello Agda!") hello-world-app : Application hello-world-app = const $ return hello-world-response open import Chu2.Handler.SnapServer using (on-port_run) main = on-port 3000 run hello-world-app ``` ## Using Middleware ```agda module Hello2 where -- simple-logger middleware open import Chu2.Middleware.SimpleLogger using (simple-logger) open import IO.Primitive using (return) open import Function using (const) open import Chu2 using (Application; defaultResponse; RawMiddleware) -- https://github.com/nfjinjing/gumi open import Gumi.Light using (_-_) hello-world-app : Application hello-world-app = const - return defaultResponse open import Chu2.Handler.SnapServer using (on-port_run) main = on-port 3001 run - simple-logger hello-world-app ``` ## Note * need the Agda standard library: * need to read the Agda tutorial and be able to run Agda script from emacs: