haskyapi: HTTP server

[ deprecated, library, mit, program, web ] [ Propose Tags ] [ Report a vulnerability ]
Deprecated

Haskell HTTP server.


[Skip to Readme]

Modules

  • Web
    • Web.Haskyapi
      • Config
        • Web.Haskyapi.Config.Config
      • Console
        • Web.Haskyapi.Console.Cli
      • Web.Haskyapi.Header
      • Web.Haskyapi.Tool

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

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 a
Revised Revision 1 made by okue at 2024-12-18T02:52:55Z
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 1315 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not 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