Last active
August 17, 2021 08:19
-
-
Save headStyleColorRed/b461304d9da072ae65cb892c2c2f1ac9 to your computer and use it in GitHub Desktop.
MEDIUM File server app.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require("express") | |
const app = express(); | |
const puerto = 8893; | |
const environment = process.env.NODE_ENV | |
const Cors = require("cors") | |
const fileupload = require('express-fileupload') | |
const jwt = require('jsonwebtoken'); | |
// Middlewares | |
app.use(Cors()); | |
app.use(express.json()); | |
app.use(express.urlencoded({ extended: false })) | |
app.use(fileupload({ | |
useTempFiles : true, | |
tempFileDir : __dirname + "/tmp/" | |
})); | |
// Routes | |
app.use("/files", validateToken, require("./requests/fileRequests")) | |
// JWT Authenticate | |
function validateToken(req, res, next) { | |
const token = req.headers["authorization"] | |
if (!token) | |
return res.status(403).send("Access denied, no authorization token received"); | |
jwt.verify(token, process.env.SECRET, (err, user) => { | |
if (err) | |
return res.status(403).send("Access denied, token expired or incorrect"); | |
next() | |
}) | |
} | |
// Open port | |
app.listen(puerto, () => console.log("Listening on port " + puerto)) | |
// ++++++++++++++++ HTTP METHODS +++++++++++++++++++ // | |
// Server status | |
app.get("/", (req, res) => { | |
res.send("Files server is up and running! :D") | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment