1 | var express = require('express');
|
2 | var path = require('path');
|
3 | var favicon = require('static-favicon');
|
4 | var logger = require('morgan');
|
5 | var cookieParser = require('cookie-parser');
|
6 | var bodyParser = require('body-parser');
|
7 | var debug = require('debug')('lab');
|
8 |
|
9 | var routes = require('./routes/index');
|
10 |
|
11 | var app = express();
|
12 |
|
13 |
|
14 | app.set('views', path.join(__dirname, 'views'));
|
15 | app.set('view engine', 'jade');
|
16 |
|
17 | app.use(favicon());
|
18 | app.use(logger('dev'));
|
19 | app.use(bodyParser.json());
|
20 | app.use(bodyParser.urlencoded());
|
21 | app.use(cookieParser());
|
22 | app.use(express.static(path.join(__dirname, 'public')));
|
23 |
|
24 | var RE_MIME = /^(?:multipart\/.+)|(?:application\/x-www-form-urlencoded)$/i;
|
25 |
|
26 |
|
27 | function hasBody(req) {
|
28 | var encoding = 'transfer-encoding' in req.headers,
|
29 | length = 'content-length' in req.headers
|
30 | && req.headers['content-length'] !== '0';
|
31 | return encoding || length;
|
32 | };
|
33 |
|
34 | function mime(req) {
|
35 | var str = req.headers['content-type'] || '';
|
36 | return str.split(';')[0];
|
37 | };
|
38 |
|
39 |
|
40 | var busboy = require('connect-busboy');
|
41 |
|
42 | app.use(busboy());
|
43 |
|
44 | app.post('/', function(req, res) {
|
45 |
|
46 | req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
|
47 | console.log(filename);
|
48 | });
|
49 | req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {
|
50 | console.log(key, value);
|
51 | });
|
52 | req.busboy.on('finish', function() {
|
53 | console.log('OVER!');
|
54 | res.send('OK!');
|
55 | });
|
56 | req.pipe(req.busboy);
|
57 |
|
58 | });
|
59 |
|
60 | app.use('/', routes);
|
61 |
|
62 |
|
63 | app.use(function(req, res, next) {
|
64 | var err = new Error('Not Found');
|
65 | err.status = 404;
|
66 | next(err);
|
67 | });
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | if (app.get('env') === 'development') {
|
74 | app.use(function(err, req, res, next) {
|
75 | res.status(err.status || 500);
|
76 | res.render('error', {
|
77 | message: err.message,
|
78 | error: err
|
79 | });
|
80 | });
|
81 | }
|
82 |
|
83 |
|
84 |
|
85 | app.use(function(err, req, res, next) {
|
86 | res.status(err.status || 500);
|
87 | res.render('error', {
|
88 | message: err.message,
|
89 | error: {}
|
90 | });
|
91 | });
|
92 |
|
93 |
|
94 | module.exports = app;
|
95 |
|
96 | app.set('port', process.env.PORT || 3000);
|
97 |
|
98 | var server = app.listen(app.get('port'), function() {
|
99 | debug('Express server listening on port ' + server.address().port);
|
100 | });
|
101 |
|
102 |
|