/app.js (f1a2753582479d4a3d170de184da7fcbbce49c45) (2253 bytes) (mode 100644) (type blob)
let debug = require('debug')('node.js-mysql-api:server');
let http = require('http');
let createError = require('http-errors');
let express = require('express');
let path = require('path');
let cookieParser = require('cookie-parser');
let logger = require('morgan');
const IndexRouter = require("./routes/index");
const NewsRouter = require("./routes/news");
let app = express();
// port and server setup
let port = normalizePort(process.env.PORT || '8000');
app.set('port', port);
let server = http.createServer(app);
server.listen(port);
server.on('error', (err) => {
if (error.syscall !== 'listen') {
throw err;
}
let bind = (typeof port === 'string') ? ('Pipe ' + port) : ('Port ' + port);
// handle specific listen errors with friendly messages
switch (err.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw err;
}
});
server.on('listening', () => {
let addr = server.address();
let bind = (typeof addr === 'string') ? ('pipe ' + addr) : ('port ' + addr.port);
debug('Listening on ' + bind);
});
function normalizePort(val) {
let port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.engine("html", require("ejs").renderFile);
app.set("view engine", "html");
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use("/", IndexRouter);
app.use("/news", NewsRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error', {
error : err
});
});
module.exports = app;
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
914 |
ad46b30886fa350c1f59761b100e5e4b01f9a7ec |
.gitignore |
100644 |
blob |
3823 |
c71119da8bc4ca18878a2644255a2943a0595f68 |
NewsWebsite.sql |
100644 |
blob |
65 |
fc0edb98cc538f8c2d584cabbb81abf2b4134484 |
README.md |
100644 |
blob |
2253 |
f1a2753582479d4a3d170de184da7fcbbce49c45 |
app.js |
040000 |
tree |
- |
e1267e619dcd638b99cabb2758111aed6b1f9433 |
general |
040000 |
tree |
- |
312740477a6a2e13e3fe85800a7f954e70d22d75 |
helpers |
040000 |
tree |
- |
d4977b7830c941e166788129aa5dfac159f4b73e |
models |
100644 |
blob |
109784 |
bd0d17580cc646deffdf8e6bad532fcd57a5b456 |
package-lock.json |
100644 |
blob |
540 |
62b755bc6925fbd31d121c6b4a3535322d801f53 |
package.json |
040000 |
tree |
- |
b5a4b102e6a08ada7783cd0683abfc790b27879e |
routes |
040000 |
tree |
- |
d86e002911ce5149c8bedbda7e4655b2c1de3e7a |
views |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/EyadMohammedOsama/News-Website
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/EyadMohammedOsama/News-Website
Clone this repository using git:
git clone git://git.rocketgit.com/user/EyadMohammedOsama/News-Website
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main