Event Resource
This custom resource type allows you to write an event that will run when the resource's route receives a GET
or POST
request.
Installation
In your app's root directory, type npm install dpd-event
into the command line or download the source. This should create a dpd-event
directory in your app's node_modules
directory.
See Installing Modules for details.
Usage
The On POST
event will be executed when the resource's route (or a subroute) receives a POST
request, and likewise with the On GET
event.
It is strongly recommended that you reserve the On GET
event for operations that return a value, but don't have any side effects of modifying the database or performing some other operation.
If your resource is called /add-follower
, you can trigger its POST
event from dpd.js:
dpdaddfollower
And over HTTP:
POST /add-follower/320d6151a9aad8ce
Content-Type: application/json
{
"userId": "6d75e75d9bd9b8a6"
}
Event API
In addition to the generic custom resource event API, the following functions and variables are available while scripting the Event resource:
setResult(result)
Sets the response body. The result
argument can be a string or an object.
// On GET /top-scoredpdscores;
getHeader(header)
Gets a request header. header
is case insensitive.
if != 'mysecretapikey' ;
setHeader(header, value)
Set a response header.
;;
setStatusCode(statusCode)
Sets the response http status code.
// temporary redirect to somewhere else;;
url
The URL of the request, without the resource's base URL. If the resource is called /add-follower
and receives a request at /add-follower/320d6151a9aad8ce
, the url
value will be /320d6151a9aad8ce
.
// On GET /statistics// Get the top scoreif url === '/top-score' dpdscores;
parts
An array of the parts of the url, separated by /
. If the resource is called /add-follower
and receives a request at /add-follower/320d6151a9aad8ce/6d75e75d9bd9b8a6
, the parts
value will be ['320d6151a9aad8ce', '6d75e75d9bd9b8a6']
.
// On POST /add-score// Give the specified user (/add-score/:userId) 5 pointsvar userId = parts0;if !userId ; dpdusers;
query
The query string object.
// On GET /sum// Return the sum of the a and b properties (/sum?a=5&b=1) ;
body
The body of the request.
// On POST /sum// Return the sum of the a and b properties {a: 5, b: 1} ;