commit 0d01779c3df27d887e05cb50b5335c08e0de90b8
parent 78611c92ea8642d09675c13ec3ac77d8826f7591
Author: Konstantin Tarkus <hello@tarkus.me>
Date: Mon, 11 Apr 2016 14:18:46 +0300
Rename the "server" variable to "app" in "src/server.js"
Diffstat:
2 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
### [Unreleased][unreleased]
+- Rename `server` variable in `server.js` to `app`
+- Integrate [Sequelize](http://docs.sequelizejs.com/) to make the project compatible with different types of databases
- Rename `onSetTitle`, `onSetMeta` context variables to `setTitle`, `setMeta`
- Move `Content` component to `src/routes/content`
- Move `ErrorPage` component to `src/routes/error`
diff --git a/src/server.js b/src/server.js
@@ -25,7 +25,7 @@ import routes from './routes';
import assets from './assets';
import { port, auth, analytics } from './config';
-const server = global.server = express();
+const app = express();
//
// Tell any CSS tooling (such as Material UI) to use all vendor prefixes if the
@@ -37,27 +37,27 @@ global.navigator.userAgent = global.navigator.userAgent || 'all';
//
// Register Node.js middleware
// -----------------------------------------------------------------------------
-server.use(express.static(path.join(__dirname, 'public')));
-server.use(cookieParser());
-server.use(bodyParser.urlencoded({ extended: true }));
-server.use(bodyParser.json());
+app.use(express.static(path.join(__dirname, 'public')));
+app.use(cookieParser());
+app.use(bodyParser.urlencoded({ extended: true }));
+app.use(bodyParser.json());
//
// Authentication
// -----------------------------------------------------------------------------
-server.use(expressJwt({
+app.use(expressJwt({
secret: auth.jwt.secret,
credentialsRequired: false,
/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
getToken: req => req.cookies.id_token,
/* jscs:enable requireCamelCaseOrUpperCaseIdentifiers */
}));
-server.use(passport.initialize());
+app.use(passport.initialize());
-server.get('/login/facebook',
+app.get('/login/facebook',
passport.authenticate('facebook', { scope: ['email', 'user_location'], session: false })
);
-server.get('/login/facebook/return',
+app.get('/login/facebook/return',
passport.authenticate('facebook', { failureRedirect: '/login', session: false }),
(req, res) => {
const expiresIn = 60 * 60 * 24 * 180; // 180 days
@@ -70,7 +70,7 @@ server.get('/login/facebook/return',
//
// Register API middleware
// -----------------------------------------------------------------------------
-server.use('/graphql', expressGraphQL(req => ({
+app.use('/graphql', expressGraphQL(req => ({
schema,
graphiql: true,
rootValue: { request: req },
@@ -80,7 +80,7 @@ server.use('/graphql', expressGraphQL(req => ({
//
// Register server-side rendering middleware
// -----------------------------------------------------------------------------
-server.get('*', async (req, res, next) => {
+app.get('*', async (req, res, next) => {
try {
let css = [];
let statusCode = 200;
@@ -122,7 +122,7 @@ const pe = new PrettyError();
pe.skipNodeFiles();
pe.skipPackage('express');
-server.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
+app.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
console.log(pe.render(err)); // eslint-disable-line no-console
const template = require('./views/error.jade');
const statusCode = err.status || 500;
@@ -136,9 +136,10 @@ server.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
//
// Launch the server
// -----------------------------------------------------------------------------
-models.sync().then(() => {
- server.listen(port, () => {
- /* eslint-disable no-console */
+/* eslint-disable no-console */
+models.sync().catch(err => console.error(err.stack)).then(() => {
+ app.listen(port, () => {
console.log(`The server is running at http://localhost:${port}/`);
});
});
+/* eslint-enable no-console */