| @@ -1,3 +1,4 @@ | |||
| node_modules/ | |||
| src/loggerFiles/all.log | |||
| src/loggerFiles/error.log | |||
| @@ -1,11 +1,9 @@ | |||
| const bcrypt = require("bcryptjs/dist/bcrypt") | |||
| const { Router } = require("express") | |||
| const User = require("../models/user") | |||
| const logger = require("../logging/logger") | |||
| const getUsers = async (req, res, next) => { | |||
| try { | |||
| logger.silly('hello from logger') | |||
| const allUsers = await User.find({}) | |||
| return res.status(200).send(allUsers) | |||
| } catch (e) { | |||
| @@ -22,7 +20,6 @@ const getUser = async (req, res, next) => { | |||
| const user = await User.findById(id) | |||
| if (!user) { | |||
| logger.error('We couldnt find user with the id of '+ id) | |||
| return res.status(404).send("User with the id of: " + id + " doesnt exist") | |||
| } | |||
| @@ -1,5 +1,5 @@ | |||
| const errorLogger = (err, req, res, next) => { | |||
| console.error('GRESKA KOLEGAA' + err) | |||
| console.error(err) | |||
| next(err) | |||
| } | |||
| @@ -0,0 +1,25 @@ | |||
| const logger = require("../logging/logger") | |||
| const requestLogging = async (req, res, next) => { | |||
| res.header("Content-Type", 'application/json'); | |||
| const reqData = JSON.stringify({ | |||
| headers: req.headers, | |||
| method: req.method, | |||
| url: req.url, | |||
| httpVersion: req.httpVersion, | |||
| body: req.body, | |||
| cookies: req.cookies, | |||
| path: req.path, | |||
| protocol: req.protocol, | |||
| query: req.query, | |||
| hostname: req.hostname, | |||
| ip: req.ip, | |||
| originalUrl: req.originalUrl, | |||
| params: req.params, | |||
| }) | |||
| logger.silly((JSON.stringify(reqData))) | |||
| next() | |||
| } | |||
| module.exports = requestLogging | |||
| @@ -8,9 +8,11 @@ const tokenRouter = require('./routes/token') | |||
| const swaggerJsDoc = require("swagger-jsdoc") | |||
| const swaggerUi = require("swagger-ui-express") | |||
| const { errorLogger, errorResponder } = require('./middleware/errorHandling.js') | |||
| const requestLogging = require('./middleware/requestLogging.js') | |||
| const cors = require('cors') //Cross-origin resource sharing | |||
| const helmet = require('helmet') //Basic protection against attacks like XSS | |||
| const config = require('config') //Default configuration file | |||
| const { json } = require('express') | |||
| const swaggerOptions = { | |||
| swaggerDefinition: { | |||
| @@ -25,9 +27,12 @@ const swaggerOptions = { | |||
| const swaggerDocs = swaggerJsDoc(swaggerOptions) | |||
| app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) | |||
| app.use(express.json()) | |||
| app.use(requestLogging) | |||
| app.use(cors()) | |||
| app.use(helmet()) | |||
| app.use(userRouter) | |||
| app.use(tokenRouter) | |||