How to use the fastify-decorators.Hook function in fastify-decorators

To help you get started, we’ve selected a few fastify-decorators examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github L2jLiga / fastify-decorators / test / bootstrap-app / other / request.controller.ts View on Github external
@Controller({
    route: '/request',
    type: ControllerType.REQUEST
})
class RequestController extends AbstractController {
    private callsCount = 0;

    @GET('/index')
    async indexHandler() {
        this.instance.log.info('Handled request to /request/index');

        this.callsCount++;
        return 'Request controller: index handler, calls count: ' + this.callsCount;
    }

    @Hook('onSend')
    async hidePoweredBy(request: FastifyRequest, reply: FastifyReply) {
        reply.header('X-Powered-By', 'nodejs');
    }
}

export = RequestController;
github L2jLiga / fastify-decorators / test / bootstrap-app / singleton.controller.ts View on Github external
import { FastifyReply, FastifyRequest } from 'fastify';
import { IncomingMessage, ServerResponse } from 'http';
import { Controller, GET, Hook } from 'fastify-decorators';

@Controller('/ctrl')
export default class SingletonController {
    private callsCount = 0;

    @GET('/index')
    async index() {
        this.callsCount++;

        return 'Singleton controller: index handler, calls count: ' + this.callsCount;
    }

    @Hook('onSend')
    async hidePoweredBy(request: FastifyRequest, reply: FastifyReply) {
        reply.header('X-Powered-By', 'nodejs');
    }
}
github L2jLiga / fastify-decorators / src / controllers / simple.controller.ts View on Github external
schema: {
                response: {
                    200: {
                        properties: {
                            message: {type: 'string'}
                        }
                    }
                }
            }
        }
    })
    async test(request: FastifyRequest, reply: FastifyReply) {
        return {message: this.message};
    }

    @Hook('onSend')
    async hidePoweredBy(request: FastifyRequest, reply: FastifyReply) {
        reply.header('X-Powered-By', 'nodejs');
    }

    private message: string = 'Controller works!';
}

fastify-decorators

Framework aimed to provide useful TypeScript decorators to implement controllers, services and request handlers, built with Fastify.

MIT
Latest version published 10 months ago

Package Health Score

74 / 100
Full package analysis