haskyapi: HTTP server

[ deprecated, library, mit, program, web ] [ Propose Tags ]
Deprecated

Haskell HTTP server.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.1, 0.0.0.2
Dependencies aeson, base (>=4.7 && <5), blaze-html, bytestring, containers, directory, haskyapi, http-conduit, markdown, mtl, network, parsec, persistent, persistent-sqlite, persistent-template, split, tagsoup, text, time, utf8-string [details]
License MIT
Copyright 2017 okue
Author okue
Maintainer nogideca@gmail.com
Category Web
Home page https://github.com/okue/haskyapi#readme
Bug tracker https://github.com/okue/haskyapi/issues
Source repo head: git clone https://github.com/okue/haskyapi
Uploaded by okue at 2018-02-09T03:12:08Z
Distributions
Executables haskyapi
Downloads 1275 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-02-09 [all 1 reports]

Readme for haskyapi-0.0.0.2

[back to package description]

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