You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							1.8 KiB
						
					
					
				| 'use strict'
 | |
| 
 | |
| const fastify = require('../fastify')({ logger: true })
 | |
| 
 | |
| const opts = {
 | |
|   schema: {
 | |
|     response: {
 | |
|       '2xx': {
 | |
|         type: 'object',
 | |
|         properties: {
 | |
|           hello: {
 | |
|             type: 'string'
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| const optsPost = {
 | |
|   schema: {
 | |
|     body: {
 | |
|       type: 'object',
 | |
|       required: ['hello'],
 | |
|       properties: {
 | |
|         hello: {
 | |
|           type: 'string'
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     response: opts.response
 | |
|   }
 | |
| }
 | |
| 
 | |
| fastify
 | |
|   .addHook('onRequest', function (request, reply, done) {
 | |
|     console.log('onRequest')
 | |
|     done()
 | |
|   })
 | |
|   .addHook('preParsing', function (request, reply, done) {
 | |
|     console.log('preParsing')
 | |
|     done()
 | |
|   })
 | |
|   .addHook('preValidation', function (request, reply, done) {
 | |
|     console.log('preValidation')
 | |
|     done()
 | |
|   })
 | |
|   .addHook('preHandler', function (request, reply, done) {
 | |
|     console.log('preHandler')
 | |
|     done()
 | |
|   })
 | |
|   .addHook('preSerialization', function (request, reply, payload, done) {
 | |
|     console.log('preSerialization', payload)
 | |
|     done()
 | |
|   })
 | |
|   .addHook('onError', function (request, reply, error, done) {
 | |
|     console.log('onError', error.message)
 | |
|     done()
 | |
|   })
 | |
|   .addHook('onSend', function (request, reply, payload, done) {
 | |
|     console.log('onSend', payload)
 | |
|     done()
 | |
|   })
 | |
|   .addHook('onResponse', function (request, reply, done) {
 | |
|     console.log('onResponse')
 | |
|     done()
 | |
|   })
 | |
|   .addHook('onRoute', function (routeOptions) {
 | |
|     console.log('onRoute')
 | |
|   })
 | |
|   .addHook('onClose', function (instance, done) {
 | |
|     console.log('onClose')
 | |
|     done()
 | |
|   })
 | |
| 
 | |
| fastify.get('/', opts, function (req, reply) {
 | |
|   reply.send({ hello: 'world' })
 | |
| })
 | |
| 
 | |
| fastify.post('/', optsPost, function (req, reply) {
 | |
|   reply.send({ hello: 'world' })
 | |
| })
 | |
| 
 | |
| fastify.listen(3000, function (err) {
 | |
|   if (err) {
 | |
|     throw err
 | |
|   }
 | |
| })
 |