mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge VS Code 1.21 source code (#1067)
* Initial VS Code 1.21 file copy with patches * A few more merges * Post npm install * Fix batch of build breaks * Fix more build breaks * Fix more build errors * Fix more build breaks * Runtime fixes 1 * Get connection dialog working with some todos * Fix a few packaging issues * Copy several node_modules to package build to fix loader issues * Fix breaks from master * A few more fixes * Make tests pass * First pass of license header updates * Second pass of license header updates * Fix restore dialog issues * Remove add additional themes menu items * fix select box issues where the list doesn't show up * formatting * Fix editor dispose issue * Copy over node modules to correct location on all platforms
This commit is contained in:
@@ -19,29 +19,6 @@ export class RequestService extends NodeRequestService {
|
||||
}
|
||||
}
|
||||
|
||||
class ArrayBufferStream extends Readable {
|
||||
|
||||
private _buffer: Buffer;
|
||||
private _offset: number;
|
||||
private _length: number;
|
||||
|
||||
constructor(arraybuffer: ArrayBuffer) {
|
||||
super();
|
||||
this._buffer = new Buffer(new Uint8Array(arraybuffer));
|
||||
this._offset = 0;
|
||||
this._length = this._buffer.length;
|
||||
}
|
||||
|
||||
_read(size: number) {
|
||||
if (this._offset < this._length) {
|
||||
this.push(this._buffer.slice(this._offset, (this._offset + size)));
|
||||
this._offset += size;
|
||||
} else {
|
||||
this.push(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const xhrRequest: IRequestFunction = (options: IRequestOptions): TPromise<IRequestContext> => {
|
||||
|
||||
const xhr = new XMLHttpRequest();
|
||||
@@ -51,14 +28,36 @@ export const xhrRequest: IRequestFunction = (options: IRequestOptions): TPromise
|
||||
setRequestHeaders(xhr, options);
|
||||
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onerror = e => reject(new Error('XHR failed: ' + xhr.statusText));
|
||||
xhr.onerror = e => reject(new Error(xhr.statusText && ('XHR failed: ' + xhr.statusText)));
|
||||
xhr.onload = (e) => {
|
||||
resolve({
|
||||
res: {
|
||||
statusCode: xhr.status,
|
||||
headers: getResponseHeaders(xhr)
|
||||
},
|
||||
stream: new ArrayBufferStream(xhr.response)
|
||||
stream: new class ArrayBufferStream extends Readable {
|
||||
|
||||
private _buffer: Buffer;
|
||||
private _offset: number;
|
||||
private _length: number;
|
||||
|
||||
constructor(arraybuffer: ArrayBuffer) {
|
||||
super();
|
||||
this._buffer = Buffer.from(new Uint8Array(arraybuffer));
|
||||
this._offset = 0;
|
||||
this._length = this._buffer.length;
|
||||
}
|
||||
|
||||
_read(size: number) {
|
||||
if (this._offset < this._length) {
|
||||
this.push(this._buffer.slice(this._offset, (this._offset + size)));
|
||||
this._offset += size;
|
||||
} else {
|
||||
this.push(null);
|
||||
}
|
||||
}
|
||||
|
||||
}(xhr.response)
|
||||
});
|
||||
};
|
||||
xhr.ontimeout = e => reject(new Error(`XHR timeout: ${options.timeout}ms`));
|
||||
|
||||
@@ -11,6 +11,7 @@ import { IRequestOptions, IRequestContext, IRequestFunction, request } from 'vs/
|
||||
import { getProxyAgent } from 'vs/base/node/proxy';
|
||||
import { IRequestService, IHTTPConfiguration } from 'vs/platform/request/node/request';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { ILogService } from '../../log/common/log';
|
||||
|
||||
/**
|
||||
* This service exposes the `request` API, while using the global
|
||||
@@ -26,7 +27,8 @@ export class RequestService implements IRequestService {
|
||||
private disposables: IDisposable[] = [];
|
||||
|
||||
constructor(
|
||||
@IConfigurationService configurationService: IConfigurationService
|
||||
@IConfigurationService configurationService: IConfigurationService,
|
||||
@ILogService private logService: ILogService
|
||||
) {
|
||||
this.configure(configurationService.getValue<IHTTPConfiguration>());
|
||||
configurationService.onDidChangeConfiguration(() => this.configure(configurationService.getValue()), this, this.disposables);
|
||||
@@ -39,6 +41,8 @@ export class RequestService implements IRequestService {
|
||||
}
|
||||
|
||||
async request(options: IRequestOptions, requestFn: IRequestFunction = request): TPromise<IRequestContext> {
|
||||
this.logService.trace('RequestService#request', options.url);
|
||||
|
||||
const { proxyUrl, strictSSL } = this;
|
||||
|
||||
options.agent = options.agent || await getProxyAgent(options.url, { proxyUrl, strictSSL });
|
||||
|
||||
Reference in New Issue
Block a user