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.

38 lines
729 B

import fastify from 'fastify'
import dotenv from 'dotenv'
import path from 'path'
// getting .env
dotenv.config({ path: path.join(path.resolve(), '/../../.env') })
// create server
const server = fastify()
// adding fastify-qs
import fastifyQs from 'fastify-qs'
server.register(fastifyQs)
// add rate limit
import rateLimit from '@fastify/rate-limit'
server.register(rateLimit, {
max: !process.env.APP_RATE_LIMIT_MAX ? 100 : process.env.APP_RATE_LIMIT_MAX,
timeWindow: !process.env.APP_RATE_LIMIT_TIMEWINDOW ? 60000 : process.env.APP_RATE_LIMIT_TIMEWINDOW
})
/**
* add routes
*
*
*/
import jsonHttp from './http/api/json.js'
server
.register(jsonHttp, {
'prefix': '/api'
})
export default server