Creating a Middleware
A middleware must implement VCLightMiddleware.
Middleware interface
typescript
import { VCLightMiddleware, VCLightRequest, VCLightResponse, VCLightApp } from "vclight";
export default interface VCLightMiddleware {
process(request: VCLightRequest, response: VCLightResponse, app: VCLightApp): Promise<void>;
post(request: VCLightRequest, response: VCLightResponse, app: VCLightApp): Promise<void>;
}processruns in registration orderpostruns in reverse order after allprocesscalls
Example middleware
typescript
import { VCLightMiddleware, VCLightRequest, VCLightResponse, VCLightApp } from "vclight";
class ExampleMiddleware implements VCLightMiddleware {
async process(request: VCLightRequest, response: VCLightResponse, _app: VCLightApp): Promise<void> {
if (request.url === "/hello/") {
response.response = "Hello!";
response.end = true;
}
}
async post(_request: VCLightRequest, _response: VCLightResponse, _app: VCLightApp): Promise<void> {
// Optional post-processing
}
}Apply middleware
typescript
const exampleMiddleware = new ExampleMiddleware();
app.use(exampleMiddleware);