mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-21 17:19:01 +01:00
use electron net for update checks
This commit is contained in:
@@ -17,6 +17,10 @@ import { createGunzip } from 'zlib';
|
||||
|
||||
export type Agent = any;
|
||||
|
||||
export interface IRawRequestFunction {
|
||||
(options: http.RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
|
||||
}
|
||||
|
||||
export interface IRequestOptions {
|
||||
type?: string;
|
||||
url?: string;
|
||||
@@ -28,6 +32,7 @@ export interface IRequestOptions {
|
||||
agent?: Agent;
|
||||
followRedirects?: number;
|
||||
strictSSL?: boolean;
|
||||
getRawRequest?(options: IRequestOptions): IRawRequestFunction;
|
||||
}
|
||||
|
||||
export interface IRequestContext {
|
||||
@@ -44,12 +49,18 @@ export interface IRequestFunction {
|
||||
(options: IRequestOptions): TPromise<IRequestContext>;
|
||||
}
|
||||
|
||||
function getNodeRequest(options: IRequestOptions): IRawRequestFunction {
|
||||
const endpoint = parseUrl(options.url);
|
||||
return endpoint.protocol === 'https:' ? https.request : http.request;
|
||||
}
|
||||
|
||||
export function request(options: IRequestOptions): TPromise<IRequestContext> {
|
||||
let req: http.ClientRequest;
|
||||
|
||||
return new TPromise<IRequestContext>((c, e) => {
|
||||
const endpoint = parseUrl(options.url);
|
||||
const rawRequest = endpoint.protocol === 'https:' ? https.request : http.request;
|
||||
const getRawRequest = options.getRawRequest || getNodeRequest;
|
||||
const rawRequest = getRawRequest(options);
|
||||
const opts: https.RequestOptions = {
|
||||
hostname: endpoint.hostname,
|
||||
port: endpoint.port ? parseInt(endpoint.port) : (endpoint.protocol === 'https:' ? 443 : 80),
|
||||
|
||||
Reference in New Issue
Block a user