Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
This library will take your RAML, parse it using raml-parser
, and then set up routes in hapi
to match your RAML.
##Installation
npm install hapi-raml
##Usage
Require in hapi-raml, and pass it a reference to your hapi server, a hashmap of your Controllers, and the path to your RAML.
When you're ready, call hookup()
, and hapi-raml will link up your hapi routes to your Controllers, and return a
Promise that will tell you when it has finished. Then you can start your hapi server.
var HapiRaml = require('hapi-raml');
var server = new Hapi.Server();
var controllers = {};
controllers.MyController = new MyController();
var hapiRaml = new HapiRaml(server, controllers, './my.raml');
server.connection({ port: 3000 });
hapiRaml.hookup().then(function () {
server.start();
});
##Conventions
We borrow the collection/collection-item pattern from RAML and layer Controllers on top.
Your Controllers should feature at least the following functions, which should expect to receive the Hapi object
request
, and a callback reply
.
#####GET (API Root)/collection maps to list()
Returns an Array of instances of the matching Model for this Controller.
#####POST (API Root)/collection maps to create()
Create a single instance of the matching Model for this Controller.
#####GET (API Root)/collection/{id} maps to fetch()
Returns a single instance of the matching Model for this Controller.
#####DELETE (API Root)/collection/{id} maps to delete()
Deletes the matching Model for this Controller.
#####POST||PATCH (API Root)/collection/{id} maps to update()
Updates the matching Model for this Controller.
#####ANY (API Root)/collection/{id}/(anything) maps to (anything)()
Whatever you decide!
FAQs
Create HAPI bindings from RAML specs automatically
We found that hapi-raml demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.