@hackage haskyapi0.0.0.2

HTTP server

Build Status

What is Haskyapi?

Haskyapi is a HTTP server implemented in Haskell.

Build

$ stack build
$ stack install
$ haskyapi migrate
$ haskyapi runserver --port 8080 --root .
root: .
listen on 8080
http://localhost:8080/
http://localhost:8080/index.html
http://localhost:8080/hoge.md

or

$ cabal build

Options

  • -p, --port : port number
  • -r, --root : root directory
  • -h, --help : help

setting.yml is a configuration file for these options.

How to use as web framework

app/Main.hs in this repository is an example program using haskyapi as web framework.

Here is a very simple example.

module Main where
import Web.Haskyapi.Console.Cli (haskyapi)
import Web.Haskyapi.Header (
  Api,
  ApiFunc,        -- type of api functions
  Method(..),     -- GET, POST, ...
  ContentType(..) -- Cplain, Cjson, ...
  )

routing :: [Api]
routing = [
             (GET,  "/test", test, Cplain)
            ,(POST, "/test", test, Cplain)
          ]

test :: ApiFunc
test qry _ = return "This is GET."
test qry _ = return "This is POST."

main = haskyapi routing

TODO

  • Open Markdown file
  • Use Database easily
  • Implement RESTful api easily
  • Automatic generator of api reference document
  • HTTPS

Bash-completion

.haskyapi.bash is a bash-completion setting file for haskyapi command.

Now

Haskyapi works at okue.site:80