UNPKG

1.55 kBTypeScriptView Raw
1import ICleaner from "../common/ICleaner";
2import ServerBase from "../common/ServerBase";
3import BlobConfiguration from "./BlobConfiguration";
4/**
5 * Default implementation of Azurite Blob HTTP server.
6 * This implementation provides a HTTP service based on express framework and LokiJS in memory database.
7 *
8 * We can create other blob servers by extending abstract Server class and initialize different httpServer,
9 * dataStore or requestListenerFactory fields.
10 *
11 * For example, creating a HTTPS server to accept HTTPS requests, or using other
12 * Node.js HTTP frameworks like Koa, or just using another SQL database.
13 *
14 * @export
15 * @class Server
16 */
17export default class BlobServer extends ServerBase implements ICleaner {
18 private readonly metadataStore;
19 private readonly extentMetadataStore;
20 private readonly extentStore;
21 private readonly accountDataStore;
22 private readonly gcManager;
23 /**
24 * Creates an instance of Server.
25 *
26 * @param {BlobConfiguration} configuration
27 * @memberof Server
28 */
29 constructor(configuration?: BlobConfiguration);
30 /**
31 * Clean up server persisted data, including Loki metadata database file,
32 * Loki extent database file and extent data.
33 *
34 * @returns {Promise<void>}
35 * @memberof BlobServer
36 */
37 clean(): Promise<void>;
38 protected beforeStart(): Promise<void>;
39 protected afterStart(): Promise<void>;
40 protected beforeClose(): Promise<void>;
41 protected afterClose(): Promise<void>;
42}
43//# sourceMappingURL=BlobServer.d.ts.map
\No newline at end of file