Archived
0
This commit is contained in:
2017-11-13 12:32:51 +03:00
parent c5a5387b45
commit 718fe9a454
5 changed files with 52 additions and 6 deletions

6
.gitignore vendored
View File

@@ -3,4 +3,8 @@ node_modules/
.env .env
## VSCODE ## ## VSCODE ##
.vscode/ .vscode/
## CONFIG ##
config/
!config/default.yml

View File

@@ -1,3 +1,8 @@
logger:
level: 'info'
format: '{{timestamp}} [{{title}}] <{{file}}:{{line}}> {{message}}'
datetime: 'HH:MM:ss'
web: web:
host: 127.0.0.1 host: 127.0.0.1
port: 8080 port: 8080

View File

@@ -11,6 +11,7 @@
"concat-stream": "^1.6.0", "concat-stream": "^1.6.0",
"config": "^1.28.1", "config": "^1.28.1",
"express": "^4.16.1", "express": "^4.16.1",
"js-yaml": "^3.10.0" "js-yaml": "^3.10.0",
"tracer": "^0.8.11"
} }
} }

View File

@@ -1,9 +1,11 @@
/* --- IMPORTS -------------------------- */ /* --- IMPORTS -------------------------- */
const config = require('config');
const tracer = require('tracer');
const express = require('express'); const express = require('express');
const bodyParser = require('body-parser'); const bodyParser = require('body-parser');
const concatStream = require('concat-stream'); const concatStream = require('concat-stream');
const config = require('config');
const fs = require('fs'); const fs = require('fs');
const os = require('os'); const os = require('os');
@@ -11,6 +13,13 @@ const path = require('path');
/* --- SETUP ---------------------------- */ /* --- SETUP ---------------------------- */
// Logger
global.logger = tracer.console({
level: config.get('logger.level'),
format: config.get('logger.format'),
dateformat: config.get('logger.datetime')
});
// Express // Express
const app = express(); const app = express();
app.use((req, res, next) => { app.use((req, res, next) => {
@@ -42,6 +51,11 @@ function toOsPath(urlPath) {
/* --- ROUTING -------------------------- */ /* --- ROUTING -------------------------- */
app.all('*', (req, res, next) => {
global.logger.trace('Path: %s | Method: %s', req.originalUrl, req.method);
next();
});
app.route(`/${config.get('maven.url')}/*`) app.route(`/${config.get('maven.url')}/*`)
.get((req, res) => { .get((req, res) => {
let osPath = toOsPath(req.path); let osPath = toOsPath(req.path);
@@ -60,7 +74,7 @@ app.route(`/${config.get('maven.url')}/*`)
fs.writeFile(osPath, req.rawBody, (err) => { fs.writeFile(osPath, req.rawBody, (err) => {
if (err) { if (err) {
console.error(err); global.logger.error(err);
res.status(500).send(); res.status(500).send();
} else { } else {
res.status(200).send(); res.status(200).send();
@@ -70,5 +84,7 @@ app.route(`/${config.get('maven.url')}/*`)
/* --- START APP ------------------------ */ /* --- START APP ------------------------ */
console.info(`Start web server :: ${config.get('web.host')}:${config.get('web.port')}`); const host = config.get('web.host'),
app.listen(config.get('web.port'), config.get('web.host')); port = config.get('web.port')
global.logger.info('Start server :: %s:%s', host, port);
app.listen(port, host);

View File

@@ -38,6 +38,10 @@ bytes@3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
colors@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
concat-stream@^1.6.0: concat-stream@^1.6.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
@@ -73,6 +77,10 @@ core-util-is@~1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
dateformat@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
debug@2.6.9: debug@2.6.9:
version "2.6.9" version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -343,6 +351,18 @@ string_decoder@~1.0.3:
dependencies: dependencies:
safe-buffer "~5.1.0" safe-buffer "~5.1.0"
tinytim@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/tinytim/-/tinytim-0.1.1.tgz#c968a1e5559ad9553224ef7627bab34e3caef8a8"
tracer@^0.8.11:
version "0.8.11"
resolved "https://registry.yarnpkg.com/tracer/-/tracer-0.8.11.tgz#5941c67404410d86665b75bba68bb1c9d2c3cacd"
dependencies:
colors "1.1.2"
dateformat "2.0.0"
tinytim "0.1.1"
type-is@~1.6.15: type-is@~1.6.15:
version "1.6.15" version "1.6.15"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"