@nasriya/hypercloud
Version:
Nasriya HyperCloud is a lightweight Node.js HTTP2 framework.
63 lines (62 loc) • 2.62 kB
TypeScript
import HyperCloudServer from './server';
import { HyperCloudInitFile, HyperCloudManagementOptions, SecureServerOptions, ServerOptions } from './docs/docs';
export { Page } from './services/renderer/assets/Page';
export { Component } from './services/renderer/assets/Component';
export { HyperCloudServer } from './server';
export { HyperCloudRequest } from './services/handler/assets/request';
export { HyperCloudResponse } from './services/handler/assets/response';
export { Router } from './services/routes/assets/router';
export { RateLimitingManager } from './services/rateLimiter/rateLimiter';
export { HyperCloudRequestHandler, HyperCloudRequestErrorHandler } from './docs/docs';
declare class HyperCloud {
#private;
/**
* Create an HTTP2 HyperCloud server instance and customize it to suite your needs. [Examples](https://github.com/nasriyasoftware/HyperCloud/blob/main/examples/createServer.md)
* @param userOptions Pass `SecureServerOptions` or `ServerOptions` to manually configure the server or load the configuration from a file
* @param managementOptions Management options.
*/
Server(userOptions?: SecureServerOptions | ServerOptions | HyperCloudInitFile, managementOptions?: HyperCloudManagementOptions): HyperCloudServer;
get verbose(): boolean;
/**
* Display extra debugging details in the console. Default is ```false```.
*
* **Note:** This affects all created `HyperCloudServer`s.
* @param {boolean} value
*/
set verbose(value: boolean);
/**
* Get the main server.
* @returns {HyperCloudServer | undefined}
*/
get server(): HyperCloudServer | undefined;
/**
* Set the main HyperCloud server
*
* **Example**:
*
* Create the main server
* ```js
* import hypercloud from '@nasriya/hypercloud';
* hypercloud.server = hypercloud.Server();
* ```
*
* Use the server on other files:
* ```js
* import hypercloud from '@nasriya/hypercloud';
* const router = hypercloud.server.Router();
* ```
* @param server The created server
*/
set server(server: HyperCloudServer);
/**
* This method generates eTags for all files in a directory.
*
* **Notes:**
* - This process is computationally intensive and may take a lot of time
* dependnig on the number and size of files in this directory.
* - The process will generate an `eTags.json` file in each directory and sub-directory.
*/
generateETags(root: string): Promise<void>;
}
declare const hypercloud: HyperCloud;
export default hypercloud;