-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathlexicon-service.js
More file actions
62 lines (52 loc) · 1.41 KB
/
lexicon-service.js
File metadata and controls
62 lines (52 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
'use strict';
var bodyParser = require('body-parser');
var cors = require("cors");
var debug = require('debug')('service');
var express = require('express');
var favicon = require("serve-favicon");
var morgan = require('morgan');
var errorsMiddleware = require('./middleware/error');
var inuktitutRoutes = require('./routes/inuktitut').router;
var searchRoutes = require('./routes/search').router;
var trainRoutes = require('./routes/train').router;
var service = express();
/**
* Config
*/
service.use(morgan('combined'));
/**
* Body parsers
*/
service.use(bodyParser.json());
service.use(bodyParser.urlencoded({
extended: true
}));
/**
* Middleware
*/
service.use(cors());
/**
* Routes
*/
service.use(favicon(__dirname + "/public/favicon.ico"));
service.use(express.static(__dirname + '/bower_components/fielddb-glosser/samples/vanilla'));
service.use(express.static(__dirname + '/bower_components/fielddb-glosser'));
// TODO switch to lexicon browser
// service.use(express.static(__dirname + '/bower_components/fielddb-glosser/samples/vanilla'));
service.use('/search', searchRoutes);
service.use('/train', trainRoutes);
service.use('/', inuktitutRoutes);
/**
* Not found
*/
service.use(function(req, res, next) {
debug(req.url + ' was not found');
var err = new Error('Not Found');
err.status = 404;
next(err);
});
/**
* Attach error handler
*/
service.use(errorsMiddleware);
module.exports = service;