This software is ALPHA.
Generic Hypermedia Application Protocol (HAP) UI.
The Hypermedia Application Protocol is self-describing, opening the possibility for fully generic UI's suiting humans. With HAP Browser you can discover and manipulate your API without the need to install anything additional to your API. The only thing your API needs are the following CORS headers, because HAP Browser is a Web App accessing your API on a different origin.
CORS Headers on OPTIONS requests:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Accept, If-Match, Content-Type
CORS Headers on all other requests:
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location
There is a hosted version of HAP Browser. I'll try to keep it running and
current. But it's not guarantied. Please ping me on Twitter @alexander_kiel
if there are any issues.
There is also an example application called HAP ToDo available. Just put
http://hap-todo.alexanderkiel.net
into the address bar of HAP Browser.
Currently a complete compilation including a production optimized ClojureScript to JavaScript compilation works using:
lein with-profile production compile :all
There is an automated build of HAP Browser on Docker Hub which builds a container running a Nginx web server which delivers the static files of the HAP Browser web application and proxies the backend services.
The container exposes port 80.
Start the container with the following command
docker run -d --name hap-browser -p 8080:80 akiel/hap-browser
HAP Browser uses figwheel
rlwrap lein figwheel
Currently I get many warnings if I start figwheel without doing a lein clean
first.
TODO: React, Om
Copyright © 2015 Alexander Kiel
Distributed under the Eclipse Public License, the same as Clojure.