UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

74 lines (73 loc) 3.35 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc, d; if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function') r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; import { registerSingleton } from '../../instantiation/common/extensions.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { FileAccess, Schemas } from '@sussudio/base/common/network.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IStorageService } from '../../storage/common/storage.mjs'; import { IEnvironmentService } from '../../environment/common/environment.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { AbstractExtensionResourceLoaderService, IExtensionResourceLoaderService, } from '../common/extensionResourceLoader.mjs'; let ExtensionResourceLoaderService = class ExtensionResourceLoaderService extends AbstractExtensionResourceLoaderService { _logService; constructor(fileService, storageService, productService, environmentService, configurationService, _logService) { super(fileService, storageService, productService, environmentService, configurationService); this._logService = _logService; } async readExtensionResource(uri) { uri = FileAccess.uriToBrowserUri(uri); if (uri.scheme !== Schemas.http && uri.scheme !== Schemas.https) { const result = await this._fileService.readFile(uri); return result.value.toString(); } const requestInit = {}; if (this.isExtensionGalleryResource(uri)) { requestInit.headers = await this.getExtensionGalleryRequestHeaders(); requestInit.mode = 'cors'; /* set mode to cors so that above headers are always passed */ } const response = await fetch(uri.toString(true), requestInit); if (response.status !== 200) { this._logService.info(`Request to '${uri.toString(true)}' failed with status code ${response.status}`); throw new Error(response.statusText); } return response.text(); } }; ExtensionResourceLoaderService = __decorate( [ __param(0, IFileService), __param(1, IStorageService), __param(2, IProductService), __param(3, IEnvironmentService), __param(4, IConfigurationService), __param(5, ILogService), ], ExtensionResourceLoaderService, ); registerSingleton(IExtensionResourceLoaderService, ExtensionResourceLoaderService, 1 /* InstantiationType.Delayed */);