/** * CORS, rate limiting, logging, and timeout middleware. * * @module middleware * * @example Single middleware * ```ts * import { cors } from "veryfront/middleware"; * * const corsMiddleware = cors({ origin: "https://example.com" }); * ``` * * @example Pipeline composition * ```ts * import { MiddlewarePipeline, cors, rateLimit, logger, timeout } from "veryfront/middleware"; * * const pipeline = new MiddlewarePipeline() * .use(cors({ origin: "https://example.com" })) * .use(rateLimit({ maxRequests: 100, windowMs: 60_000 })) * .use(logger({ format: "combined" })) * .use(timeout({ timeoutMs: 30_000 })); * ``` */ import "../../_dnt.polyfills.js"; export { MiddlewareContext, MiddlewarePipeline, type MiddlewarePipelineOptions, } from "./core/index.js"; export type { Context, ExecutionContext, MiddlewareFactory, MiddlewareHandler, Next, } from "./core/types.js"; export type { CorsOptions } from "./builtin/types.js"; export { cors } from "../security/index.js"; export { authRateLimit, type AuthRateLimitOptions, MemoryRateLimitStore, type MemoryRateLimitStoreOptions, rateLimit, type RateLimitOptions, } from "./builtin/security/rate-limit.js"; export { type RedisRateLimitOptions, RedisRateLimitStore, } from "./builtin/security/redis-rate-limit.js"; export type { RateLimitStore } from "./builtin/security/types.js"; export { devLogger, type LogFormat, logger, type LoggerOptions, prodLogger, } from "./builtin/logger.js"; export { getTimeoutFromEnv, timeout, timeoutFromEnv, type TimeoutOptions, } from "./builtin/timeout.js"; //# sourceMappingURL=index.d.ts.map