當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript request.IRequestService類代碼示例

本文整理匯總了TypeScript中vs/platform/request/node/request.IRequestService的典型用法代碼示例。如果您正苦於以下問題:TypeScript IRequestService類的具體用法?TypeScript IRequestService怎麽用?TypeScript IRequestService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了IRequestService類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: postLogs

async function postLogs(
	endpoint: Endpoint,
	outZip: string,
	requestService: IRequestService
): Promise<PostResult> {
	const dotter = setInterval(() => console.log('.'), 5000);
	let result: IRequestContext;
	try {
		result = await requestService.request({
			url: endpoint.url,
			type: 'POST',
			data: Buffer.from(fs.readFileSync(outZip)).toString('base64'),
			headers: {
				'Content-Type': 'application/zip'
			}
		}, CancellationToken.None);
	} catch (e) {
		clearInterval(dotter);
		console.log(localize('postError', 'Error posting logs: {0}', e));
		throw e;
	}

	return new Promise<PostResult>((resolve, reject) => {
		const parts: Buffer[] = [];
		result.stream.on('data', data => {
			parts.push(data);
		});

		result.stream.on('end', () => {
			clearInterval(dotter);
			try {
				const response = Buffer.concat(parts).toString('utf-8');
				if (result.res.statusCode === 200) {
					resolve(JSON.parse(response));
				} else {
					const errorMessage = localize('responseError', 'Error posting logs. Got {0} — {1}', result.res.statusCode, response);
					console.log(errorMessage);
					reject(new Error(errorMessage));
				}
			} catch (e) {
				console.log(localize('parseError', 'Error parsing response'));
				reject(e);
			}
		});
	});
}
開發者ID:eamodio,項目名稱:vscode,代碼行數:46,代碼來源:logUploader.ts

示例2: postLogs

async function postLogs(
	endpoint: Endpoint,
	outZip: string,
	requestService: IRequestService
): TPromise<PostResult> {
	let result: IRequestContext;
	try {
		result = await requestService.request({
			url: endpoint.url,
			type: 'POST',
			data: new Buffer(fs.readFileSync(outZip)).toString('base64'),
			headers: {
				'Content-Type': 'application/zip'
			}
		});
	} catch (e) {
		console.log(localize('postError', 'Error posting logs: {0}', e));
		throw e;
	}

	return new TPromise<PostResult>((res, reject) => {
		const parts: Buffer[] = [];
		result.stream.on('data', data => {
			parts.push(data);
		});

		result.stream.on('end', () => {
			try {
				const result = Buffer.concat(parts).toString('utf-8');
				res(JSON.parse(result));
			} catch (e) {
				console.log(localize('parseError', 'Error parsing response'));
				reject(e);
			}
		});
	});
}
開發者ID:jamesforest,項目名稱:vscode,代碼行數:37,代碼來源:logUploader.ts


注:本文中的vs/platform/request/node/request.IRequestService類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。