Skip to content

Latest commit

 

History

History
121 lines (71 loc) · 2.52 KB

README.md

File metadata and controls

121 lines (71 loc) · 2.52 KB

request-prom

Promise wrapper for request

build status

Installation

This module is installed via npm:

$ npm install request-prom

Examples

Simple

var request = require('request-prom'),
request.get('http://google.com').then(function(response) {
	console.log(response.body);
});

Stream Request

var request = require('request-prom'),
	fs = require('fs'),
	stream = request.stream({ url: 'http://google.com'}),
	output = fs.createWriteStream(__dirname + '/out.html');

//to illustrate that this isn't affected by the process.nextTick problem that request suffers from
process.nextTick(function () {
	stream.pipe(output);
});

Using ResponseError

request-prom rejects promises with ResponseError if the http status code isn't 2xx

	var request = require('request-prom'),
		ResponseError = request.ResponseError; 
	
	request.get('http://ohno.com/asdaf').catch(ResponseError, function (e) {
		console.log('Oh no! The request failed with status code', e.statusCode, 'And body', e.body);
	});
	

Documentation

Options to request refers to the following options

requestProm(opts)

Make a request

Parameters

opts: Object, options to request

Returns: Promise, resolves with response

get(url, opts)

Make a GET request

Parameters

url: String, Make a GET request

opts: Object, options to request

Returns: Promise, resolves with response

stream(url, opts)

Make a request that returns a stream thats not sensitive to use after a process.nextTick()

Parameters

url: String, Make a request that returns a stream thats not sensitive to use after a process.nextTick()

opts: Object, options to request

Returns: Stream, from streamify

post(url, opts)

Make a POST request

Parameters

url: String, Make a POST request

opts: Object, options to request

Returns: Promise, resolves with response

postFile(url, file, opts)

Make a form POST request with a file.

Parameters

url: String, Make a form POST request with a file.

file: String | stream.Readable, the full path to the file or a stream.Readable.

opts: Object, options to request

Returns: Promise, resolves with response