WIP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
cider-ci
node_modules @ 9a93cac
spec
.gitignore
.gitmodules
Makefile
README.md
cider-ci.yml
package.json
webpack.config.js

README.md

JSON-ROA Hypermedia API Browser

status: beta

Features

  • Request Configuration
    • set Headers and URL to HTTP GET JSON-ROA enabled resources
    • save to URL(-hash)/browser history
  • JSON-Roa Inspector
    • Relations
    • Collection
    • Meta-Relations
    • Methods (to issue new requests)
  • Response Inspector for raw data
    • Request config
    • Headers
    • JSON (without -ROA)
    • JSON-ROA Data

Screenshot

Screenshot

TODO

  • RoaRelation methods:
    • build dynamic form from needed data
    • support templated urls
  • requestconfig: resolve against current host (dont expand / into full url)
  • debounce everything listening on keyboard input
  • response: body: "Content Iframe (uses browser accept header!)"
  • show (welcome) message when no request/response (yet)
  • activcate submit button on action form modal init
  • sort headers by key (alphanumeric desc)?
  • verbose mode show table headers, hints, …
  • lib/codemirror-base, make DataOutput component (simple, see runmode)
  • dark mode!
  • collect resources in graph viewer

"Issue Request" ActionForm

  • when templated URL -> ask for vars*
    • * vars come from lib (as array), build JSON preset
    • build a form for the variables
  • when body possible* -> ask for body, content-type
    • * method is not GET or DELETE
  • confirm closing of modal if data in state
  • save full url config to RequestConfig (template + vars)
    • move request/template handling to model
    • allow edit from main form

Development

Magic things

Good to know when reading the code:

  • app: (docs) an "global" object called app is set up in main and the different parts of the app are attached to it. Calling require('ampersand-app') anywhere will the return this same object (it's a singleton).
  • ampersand-react-mixin (docs) Wherever instances of Models are passed into React components, they will automatically listen on the changes of those instances.