Route Directives
Caching
export default async function Route (instance: FastifyInstance) {
instance.get('/api/v1/account', handler);
instance.cached();
async function handler(request, reply) {
console.log(request.session);
reply.status(204);
}
}instance.cached()
instance.cached()instance.cached({ key: (request) ⇒ `custom-id` })
instance.cached({ key: (request) ⇒ `custom-id` }) instance.cached({ ttl: 60 })
instance.cached({ ttl: 60 })await reply.uncache(key: string, options?: CacheOptions)
await reply.uncache(key: string, options?: CacheOptions)CacheOptions
CacheOptionsRate Limiting
instance.throttled(limit: number, window: string, options?: RateLimitOptions)
instance.throttled(limit: number, window: string, options?: RateLimitOptions)await request.throttled(key: string, limit?: number, options?: RateLimitOptions)
await request.throttled(key: string, limit?: number, options?: RateLimitOptions)await request.throttled(limit: number, options?: RateLimitOptions)
await request.throttled(limit: number, options?: RateLimitOptions)await request.unthrottle(key?: string, options?: RateLimitOptions)
await request.unthrottle(key?: string, options?: RateLimitOptions)RateLimitOptions
RateLimitOptionsElevated Privileges
instance.sudo()
instance.sudo()Idempotency
instance.idempotent(options?: IdempotencyOptions)
instance.idempotent(options?: IdempotencyOptions)IdempotencyOptions
IdempotencyOptionsVerified
instance.verified()
instance.verified()Subscribed
instance.subscribed()
instance.subscribed()Changelog
Last updated