2.1 KiB
Internal Client
The internal-client module is responsible for building a server-side version of dpd.js. It is intended for use in Scripts but can be used by resources to access other resources' REST APIs.
Note: As in dpd.js, the callback for an internal client request recieves the arguments (data, err), which is different than the Node convention of (err, data). This is for a better experience in writings Scripts and events.
internalClient.build(server, [session], [stack])
var internalClient = require('deployd/lib/internalClient');
var dpd = internalClient.build(server, req.session, req.stack);
dpd.todos.get(function(data, err) {
// Do something...
});
server{Server}
The Deployd server to build a client for.
session{Session} (optional)
The Session object on the current request.
stack{Array} (optional)
Used internally to prevent recursive calls to resources.
Mock context
In order to make requests on resources within the Deployd server, internal-client creates mock req and res objects. These objects are not Streams and cannot be treated exactly like the standard http.ServerRequest and http.ServerResponse objects in Node, but they imitate their interfaces with the following properties:
req
url{String}
The URL of the request, i.e. "/hello"
method{String}
The method of the request, i.e. "GET", "POST"
query{Object}
The query object.
body{Object}
The body of the request.
session{Session}
The current session, if any.
internal{Boolean}
Always equal to true to indicate an internal request and a mock req object.
res
statusCode{Number}
Set this to a standard HTTP response code.
setHeader(){Function}
No-op.
end(data){Function}
Returns data to the internal client call. If data is JSON, it will be parsed into an object, otherwise it will simply be passed as a string. If the res.statusCode is not 200 or 204, data will be passed as an error.
internal{Boolean}
Always equal to true to indicate an internal request and a mock res object.