1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- const express = require('express')
- const bodyParser = require('body-parser')
- const sockjs = require('sockjs')
- const http = require('http')
- const mongoose = require('mongoose')
- /** Load the submodules */
- import project from './project/route'
- /** Create the express app */
- const app = express()
- /** MongoDB middleware */
- const dbName = 'movieDB'
- const connectionString = `mongodb://localhost:27017/${dbName}`
- /** Sockjs middleware */
- const sockjsOpts = {sockjs_url: 'http://cdn.jsdelivr.net/sockjs/1.0.1/sockjs.min.js'}
- const sockjsServer = sockjs.createServer(sockjsOpts)
- sockjsServer.on('connection', function (conn) {
- conn.on('data', function (message) {
- conn.write(message)
- })
- })
- /** Bind the http server to express */
- const server = http.createServer(app)
- sockjsServer.installHandlers(server, {prefix: '/echo'})
- mongoose.connect(connectionString)
- function welcomeRouter (req, res) {
- res.json({ message: 'Welcome to the AutoMate db API!' })
- }
- function errorRouter (req, res) {
- res.status(404)
- res.send({ message: 'Unknown route.' })
- }
- app.use(bodyParser.json())
- app.use(bodyParser.urlencoded({ extended: true }))
- app.get(/^\/db\/?$/, welcomeRouter)
- app.get(/^\/db(\/\w+)?(\/\w+)?\/?$/, [project.get])
- app.post(/^\/db(\/\w+)?(\/\w+)?\/?$/, [project.post])
- app.put(/^\/db(\/\w+)?(\/\w+)?\/?$/, [project.put])
- app.delete(/^\/db(\/\w+)?(\/\w+)?\/?$/, [project.delete])
- app.use(/.*/, errorRouter)
- /* app.get('/', function (req, res) {
- res.sendFile(`${__dirname}/index.html`)
- }) */
- server.listen(process.env.PORT || 4000)
|