UNPKG

azurite

Version:

An open source Azure Storage API compatible server

64 lines 3.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const fs_extra_1 = require("fs-extra"); const path_1 = require("path"); const QueueConfiguration_1 = tslib_1.__importDefault(require("../queue/QueueConfiguration")); const QueueServer_1 = tslib_1.__importDefault(require("../queue/QueueServer")); const constants_1 = require("../queue/utils/constants"); const Logger = tslib_1.__importStar(require("./Logger")); const NoLoggerStrategy_1 = tslib_1.__importDefault(require("./NoLoggerStrategy")); const VSCChannelLoggerStrategy_1 = tslib_1.__importDefault(require("./VSCChannelLoggerStrategy")); const VSCChannelWriteStream_1 = tslib_1.__importDefault(require("./VSCChannelWriteStream")); const VSCEnvironment_1 = tslib_1.__importDefault(require("./VSCEnvironment")); const VSCServerManagerBase_1 = tslib_1.__importDefault(require("./VSCServerManagerBase")); const VSCServerManagerClosedState_1 = tslib_1.__importDefault(require("./VSCServerManagerClosedState")); const Telemetry_1 = require("./Telemetry"); class VSCServerManagerBlob extends VSCServerManagerBase_1.default { constructor() { super("Azurite Queue Service", new VSCServerManagerClosedState_1.default()); this.accessChannelStream = new VSCChannelWriteStream_1.default("Azurite Queue"); this.debuggerLoggerStrategy = new VSCChannelLoggerStrategy_1.default("Azurite Queue Debug"); } getStartCommand() { return "azurite.start_queue"; } getCloseCommand() { return "azurite.close_queue"; } getCleanCommand() { return "azurite.clean_queue"; } async createImpl() { const config = await this.getConfiguration(); Logger.default.strategy = config.enableDebugLog ? this.debuggerLoggerStrategy : new NoLoggerStrategy_1.default(); this.server = new QueueServer_1.default(config); } async startImpl() { await this.server.start(); await Telemetry_1.AzuriteTelemetryClient.TraceStartEvent("Queue-VSC"); } async closeImpl() { Telemetry_1.AzuriteTelemetryClient.TraceStopEvent("Queue-VSC"); this.server.close(); } async cleanImpl() { await this.createImpl(); await this.server.clean(); } async getConfiguration() { const env = new VSCEnvironment_1.default(); const location = await env.location(); await (0, fs_extra_1.ensureDir)(location); await (0, fs_extra_1.access)(location); constants_1.DEFAULT_QUEUE_PERSISTENCE_ARRAY[0].locationPath = (0, path_1.join)(location, constants_1.DEFAULT_QUEUE_PERSISTENCE_PATH); Telemetry_1.AzuriteTelemetryClient.init(constants_1.DEFAULT_QUEUE_PERSISTENCE_ARRAY[0].locationPath, !env.disableTelemetry(), env.workspaceConfiguration, true); // Initialize server configuration const config = new QueueConfiguration_1.default(env.queueHost(), env.queuePort(), env.queueKeepAliveTimeout(), (0, path_1.join)(location, constants_1.DEFAULT_QUEUE_LOKI_DB_PATH), (0, path_1.join)(location, constants_1.DEFAULT_QUEUE_EXTENT_LOKI_DB_PATH), constants_1.DEFAULT_QUEUE_PERSISTENCE_ARRAY, !env.silent(), this.accessChannelStream, (await env.debug()) === true, undefined, env.loose(), env.skipApiVersionCheck(), env.cert(), env.key(), env.pwd(), env.oauth(), env.disableProductStyleUrl(), env.inMemoryPersistence()); return config; } } exports.default = VSCServerManagerBlob; //# sourceMappingURL=VSCServerManagerQueue.js.map