Home

Awesome

trailpack-repl

Gitter NPM version Build status Dependency Status Code Climate

REPL Trailpack. Adds an interactive shell to your Trails app to help with development and debugging. Saves command history between sessions.

Usage

The repl trailpack is loaded in your trailpack config per usual.

// config/main.js
module.exports = {
  // ...
  packs: [
    // ...
    require('trailpack-repl')
  ]
}
// config/repl.js
module.exports = {
  /**
   * REPL is disabled automatically if no text terminal is available. Set
   * to "true" to override this behavior.
   */
  allowNoTTY: false
}

Shell Commands

With the REPL Trailpack you can test your REST API directly from the interactive shell.

GET

get("/api/v1/default/info")

HEAD

head("/api/v1/default/info")

OPTIONS

options("/api/v1/default/info")

POST

post("/api/v1/default/info", {some : 'data'})

If you want to simulate some HTML form you can do :

post("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded')

PUT

put("/api/v1/default/info", {some : 'data'})

If you want to simulate some HTML form you can do :

put("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded')

PATCH

patch("/api/v1/default/info", {some : 'data'})

DELETE

delete("/api/v1/default/info")

By default headers are {'Accept': 'application/json'} but they can be modified by adding an extra param of each method like this :

get("/api/v1/default/info", {'Accept': 'text/xml'})
head("/api/v1/default/info", {'Accept': 'text/xml'})
options("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
post("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
put("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
patch("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
delete("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})

Contributing

We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.

License

MIT