mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-11 20:40:20 +00:00
Merge pull request #12519 from borekb/request-url-type-fix
Enhanced type of `url` and `uri` properties on the options object
This commit is contained in:
Vendored
+3
-2
@@ -13,6 +13,7 @@ import https = require('https');
|
||||
import url = require('url');
|
||||
import fs = require('fs');
|
||||
import FormData = require('form-data');
|
||||
import { Url } from 'url';
|
||||
|
||||
declare namespace request {
|
||||
export interface RequestAPI<TRequest extends Request,
|
||||
@@ -114,10 +115,10 @@ declare namespace request {
|
||||
}
|
||||
|
||||
interface UriOptions {
|
||||
uri: string;
|
||||
uri: string | Url;
|
||||
}
|
||||
interface UrlOptions {
|
||||
url: string;
|
||||
url: string | Url;
|
||||
}
|
||||
export type RequiredUriUrl = UriOptions | UrlOptions;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import request = require('request');
|
||||
import http = require('http');
|
||||
import stream = require('stream');
|
||||
import urlModule = require('url');
|
||||
import fs = require('fs');
|
||||
import FormData = require('form-data');
|
||||
|
||||
@@ -91,7 +92,7 @@ var options: request.Options = {
|
||||
qs: obj,
|
||||
json: value,
|
||||
multipart: value,
|
||||
agent: new http.Agent(),
|
||||
agent: new http.Agent(),
|
||||
agentOptions: value,
|
||||
agentClass: value,
|
||||
forever: value,
|
||||
@@ -242,14 +243,14 @@ request
|
||||
console.log(response.headers['content-type']); // 'image/png'
|
||||
})
|
||||
.pipe(request.put('http://mysite.com/img.png'));
|
||||
|
||||
|
||||
request
|
||||
.get('http://mysite.com/doodle.png')
|
||||
.on('error', function(err: any) {
|
||||
console.log(err);
|
||||
})
|
||||
.pipe(fs.createWriteStream('doodle.png'));
|
||||
|
||||
|
||||
http.createServer(function (req, resp) {
|
||||
if (req.url === '/doodle.png') {
|
||||
if (req.method === 'PUT') {
|
||||
@@ -361,7 +362,7 @@ request({
|
||||
}
|
||||
console.log('Upload successful! Server responded with:', body);
|
||||
});
|
||||
|
||||
|
||||
request.get('http://some.server.com/').auth('username', 'password', false);
|
||||
// or
|
||||
request.get('http://some.server.com/', {
|
||||
@@ -451,8 +452,8 @@ request.post({url:url, oauth:oauth}, function (e, r, body) {
|
||||
, token_secret: perm_data.oauth_token_secret
|
||||
};
|
||||
var url = 'https://api.twitter.com/1.1/users/show.json';
|
||||
var query = {
|
||||
screen_name: perm_data.screen_name,
|
||||
var query = {
|
||||
screen_name: perm_data.screen_name,
|
||||
user_id: perm_data.user_id
|
||||
};
|
||||
request.get({url:url, oauth:oauth, qs:query, json:true}, function (e, r, user) {
|
||||
@@ -539,7 +540,7 @@ request({
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//requests using baseRequest() will set the 'x-token' header
|
||||
var baseRequest = request.defaults({
|
||||
headers: {'x-token': 'my-token'}
|
||||
@@ -592,7 +593,7 @@ var rand = Math.floor(Math.random()*100000000).toString();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
request(
|
||||
{ method: 'GET'
|
||||
, uri: 'http://www.google.com'
|
||||
@@ -614,7 +615,7 @@ request(
|
||||
console.log('received ' + data.length + ' bytes of compressed data')
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
var requestWithJar = request.defaults({jar: true})
|
||||
requestWithJar('http://www.google.com', function () {
|
||||
requestWithJar('http://images.google.com');
|
||||
@@ -661,3 +662,12 @@ request(
|
||||
.on('data', function(data: Buffer | string) { })
|
||||
.on('error', function(e: Error) { })
|
||||
.on('complete', function(resp: http.IncomingMessage, body?: string | Buffer) { });
|
||||
|
||||
// options.url / options.uri can be the Url object
|
||||
request.get({
|
||||
url: urlModule.parse('http://example.com')
|
||||
});
|
||||
|
||||
request.get({
|
||||
uri: urlModule.parse('http://example.com')
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user