c9-core/plugins/c9.core/http-node.js

55 wiersze
2.4 KiB
JavaScript

"use strict";
main.consumes = [];
main.provides = ["http"];
module.exports = main;
function main(options, imports, register) {
var request = require("frontdoor/lib/http_node");
/**
* Simple API for performing HTTP requests.
*
* Example:
*
* http.request("http://www.c9.io", function(err, data){
* if (err) throw err;
* console.log(data);
* });
*
* @singleton
*/
var plugin = {
/**
* Performs an HTTP request
*
* @param {String} url Target URL for the HTTP request
* @param {Object} [options] Request options
* @param {String} [options.method] HTTP method (default=GET)
* @param {Object} [options.query] URL query parameters as an object
* @param {String} [options.body] HTTP body for PUT and POST
* @param {Object} [options.headers] Request headers
* @param {Object} [options.username] Basic auth username
* @param {Object} [options.password] Basic auth password
* @param {Number} [options.timeout] Timeout in ms (default=10000)
* @param {String} [options.contentType='application/x-www-form-urlencoded; charset=UTF-8'] Content type of sent data
* @param {String} [options.overrideMimeType] Overrides the MIME type returned by the server
* @param {Function} [options.progress] Progress event handler
* @param {Function} [options.progress.loaded] The amount of bytes downloaded/uploaded.
* @param {Function} [options.progress.total] The total amount of bytes to download/upload.
* @param {Function} callback Called when the request returns.
* @param {Error} callback.err Error object if an error occured.
* @param {String} callback.data The data received.
* @param {Object} callback.res
* @param {String} callback.res.body The body of the response message.
* @param {Number} callback.res.status The status of the response message.
* @param {Object} callback.res.headers The headers of the response message.
*/
request: request
};
register(null, {
http: plugin
});
}