azurite
Version:
An open source Azure Storage API compatible server
61 lines • 3.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const path_1 = require("path");
const BlobConfiguration_1 = tslib_1.__importDefault(require("../blob/BlobConfiguration"));
const BlobServer_1 = tslib_1.__importDefault(require("../blob/BlobServer"));
const constants_1 = require("../blob/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 Blob Service", new VSCServerManagerClosedState_1.default());
this.accessChannelStream = new VSCChannelWriteStream_1.default("Azurite Blob");
this.debuggerLoggerStrategy = new VSCChannelLoggerStrategy_1.default("Azurite Blob Debug");
}
getStartCommand() {
return "azurite.start_blob";
}
getCloseCommand() {
return "azurite.close_blob";
}
getCleanCommand() {
return "azurite.clean_blob";
}
async createImpl() {
const config = await this.getConfiguration();
Logger.default.strategy = config.enableDebugLog
? this.debuggerLoggerStrategy
: new NoLoggerStrategy_1.default();
this.server = new BlobServer_1.default(config);
}
async startImpl() {
await this.server.start();
await Telemetry_1.AzuriteTelemetryClient.TraceStartEvent("Blob-VSC");
}
async closeImpl() {
Telemetry_1.AzuriteTelemetryClient.TraceStopEvent("Blob-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();
constants_1.DEFAULT_BLOB_PERSISTENCE_ARRAY[0].locationPath = (0, path_1.join)(location, constants_1.DEFAULT_BLOB_PERSISTENCE_PATH);
Telemetry_1.AzuriteTelemetryClient.init(constants_1.DEFAULT_BLOB_PERSISTENCE_ARRAY[0].locationPath, !env.disableTelemetry(), env.workspaceConfiguration, true);
// Initialize server configuration
const config = new BlobConfiguration_1.default(env.blobHost(), env.blobPort(), env.blobKeepAliveTimeout(), (0, path_1.join)(location, constants_1.DEFAULT_BLOB_LOKI_DB_PATH), (0, path_1.join)(location, constants_1.DEFAULT_BLOB_EXTENT_LOKI_DB_PATH), constants_1.DEFAULT_BLOB_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=VSCServerManagerBlob.js.map
;