haskyapi alternatives and similar packages
Based on the "Web" category.
Alternatively, view haskyapi alternatives based on common mentions on social networks and blogs.
-
haskell-bitmex-rest
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
swagger-petstore
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
servant
Servant is a Haskell DSL for describing, serving, querying, mocking, documenting web applications and more! -
neuron
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote) -
tagsoup
Haskell library for parsing and extracting information from (possibly malformed) HTML/XML documents -
keera-hails-reactive-htmldom
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications -
ghcjs-dom
Make Document Object Model (DOM) apps that run in any browser and natively using WebKitGtk
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of haskyapi or a related project?
README
What is Haskyapi?
Haskyapi is a HTTP server implemented in Haskell.
Build
$ stack build
$ stack install
$ 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, Query -> Body -> IO String
Method(..), -- GET, POST, ...
ContentType(..) -- Cplain, Cjson, ...
)
routing :: [Api]
routing = [
(GET, "/test", test , Cplain)
,(POST, "/test", test2, Cplain)
]
test :: ApiFunc
test qry bdy = return "This is GET."
test2 :: ApiFunc
test2 qry bdy = return "This is POST."
main = haskyapi routing
$ runhaskell Main.hs runserver
$ curl -XGET http://localhost:8080/api/test
This is GET.
$ curl -XPOST http://localhost:8080/api/test
This is POST.
TODO
- [ ] HTTPS
Bash-completion
.haskyapi.bash
is a bash-completion setting file for haskyapi command.