Awesome
trailpack-repl
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.