seems to work
This commit is contained in:
commit
b58deaaa86
17
.c9/.nakignore
Normal file
17
.c9/.nakignore
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
*~backup-*
|
||||||
|
.c9revisions
|
||||||
|
.c9
|
||||||
|
.git
|
||||||
|
.svn
|
||||||
|
.DS_Store
|
||||||
|
.bzr
|
||||||
|
.cdv
|
||||||
|
~.dep
|
||||||
|
~.dot
|
||||||
|
~.nib
|
||||||
|
~.plst
|
||||||
|
.hg
|
||||||
|
.pc
|
||||||
|
*.min.js
|
||||||
|
.nakignore
|
||||||
|
/dev
|
1
.c9/metadata/tab1
Normal file
1
.c9/metadata/tab1
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"filter":false,"title":"Immediate (Javascript (browser))","tooltip":"Immediate (Javascript (browser))","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":8,"column":40},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":53},{"start":{"row":9,"column":0},"end":{"row":10,"column":0},"action":"insert","lines":["",""]}]]},"immediate":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":8,"column":0},"end":{"row":8,"column":21},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0,"type":"jsbrowser","history":["\"refs/heads/template\".match(/\\/master$/)","\"refs/heads/master\".match(/\\/master$/)","s.match(/\\/master$/)","s = \"refs/heads/master\""],"pos":-1},"timestamp":1452973618356,"hash":"722c479a340a3da2396735615b87d31f3373e145"}
|
1
.c9/metadata/tab8
Normal file
1
.c9/metadata/tab8
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"filter":false,"title":"Terminal","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"devel_232","cwd":"","width":1328,"height":243,"scrollTop":393},"timestamp":1452978225696,"hash":"67452301efcdab8998badcfe10325476c3d2e1f0"}
|
1
.c9/metadata/workspace/bin/www
Normal file
1
.c9/metadata/workspace/bin/www
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"filter":false,"title":"www","tooltip":"/bin/www","undoManager":{"mark":2,"position":2,"stack":[[{"start":{"row":14,"column":47},"end":{"row":14,"column":50},"action":"remove","lines":["000"],"id":2},{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["1"]}],[{"start":{"row":14,"column":48},"end":{"row":14,"column":49},"action":"insert","lines":["8"],"id":3}],[{"start":{"row":14,"column":49},"end":{"row":14,"column":50},"action":"insert","lines":["0"],"id":4}]]},"ace":{"folds":[],"scrolltop":120,"scrollleft":0,"selection":{"start":{"row":14,"column":50},"end":{"row":14,"column":50},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1452973670538,"hash":"d84e8bd402fee361726b1d5ab6cdf6009ed17746"}
|
1
.c9/metadata/workspace/routes/index.js
Normal file
1
.c9/metadata/workspace/routes/index.js
Normal file
File diff suppressed because one or more lines are too long
1
.c9/metadata/workspace/test.sh
Normal file
1
.c9/metadata/workspace/test.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"filter":false,"title":"test.sh","tooltip":"/test.sh","undoManager":{"mark":33,"position":33,"stack":[[{"start":{"row":0,"column":0},"end":{"row":0,"column":1},"action":"insert","lines":["e"],"id":1}],[{"start":{"row":0,"column":1},"end":{"row":0,"column":2},"action":"insert","lines":["c"],"id":2}],[{"start":{"row":0,"column":2},"end":{"row":0,"column":3},"action":"insert","lines":["h"],"id":3}],[{"start":{"row":0,"column":3},"end":{"row":0,"column":4},"action":"insert","lines":["o"],"id":4}],[{"start":{"row":0,"column":4},"end":{"row":0,"column":5},"action":"insert","lines":[" "],"id":5}],[{"start":{"row":0,"column":5},"end":{"row":0,"column":7},"action":"insert","lines":["\"\""],"id":6}],[{"start":{"row":0,"column":6},"end":{"row":0,"column":7},"action":"insert","lines":["s"],"id":7},{"start":{"row":0,"column":7},"end":{"row":0,"column":8},"action":"insert","lines":["d"]}],[{"start":{"row":0,"column":8},"end":{"row":0,"column":9},"action":"insert","lines":["f"],"id":8}],[{"start":{"row":0,"column":9},"end":{"row":0,"column":10},"action":"insert","lines":["s"],"id":9}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["d"],"id":10}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["f"],"id":11}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["s"],"id":12},{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["d"]}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":[">"],"id":13}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["t"],"id":14}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["e"],"id":15}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["s"],"id":16}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["t"],"id":17}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["."],"id":18}],[{"start":{"row":0,"column":21},"end":{"row":0,"column":22},"action":"insert","lines":["t"],"id":19}],[{"start":{"row":0,"column":22},"end":{"row":0,"column":23},"action":"insert","lines":["x"],"id":20}],[{"start":{"row":0,"column":23},"end":{"row":0,"column":24},"action":"insert","lines":["t"],"id":21}],[{"start":{"row":0,"column":0},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":22}],[{"start":{"row":0,"column":0},"end":{"row":0,"column":1},"action":"insert","lines":["#"],"id":23}],[{"start":{"row":0,"column":1},"end":{"row":0,"column":2},"action":"insert","lines":["!"],"id":24}],[{"start":{"row":0,"column":2},"end":{"row":0,"column":3},"action":"insert","lines":["/"],"id":25}],[{"start":{"row":0,"column":3},"end":{"row":0,"column":4},"action":"insert","lines":["b"],"id":26}],[{"start":{"row":0,"column":4},"end":{"row":0,"column":5},"action":"insert","lines":["i"],"id":27}],[{"start":{"row":0,"column":5},"end":{"row":0,"column":6},"action":"insert","lines":["n"],"id":28}],[{"start":{"row":0,"column":6},"end":{"row":0,"column":7},"action":"insert","lines":["/"],"id":29}],[{"start":{"row":0,"column":7},"end":{"row":0,"column":8},"action":"insert","lines":["b"],"id":30}],[{"start":{"row":0,"column":8},"end":{"row":0,"column":9},"action":"insert","lines":["a"],"id":31}],[{"start":{"row":0,"column":9},"end":{"row":0,"column":10},"action":"insert","lines":["s"],"id":32}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["h"],"id":33}],[{"start":{"row":0,"column":11},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":34}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":1,"column":0},"end":{"row":1,"column":0},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1452978488496,"hash":"e5d88869a1d8eada9039d48fcf70c2dd29272ac7"}
|
34
.c9/project.settings
Normal file
34
.c9/project.settings
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"ace": {
|
||||||
|
"@guessTabSize": "true",
|
||||||
|
"@newLineMode": "unix",
|
||||||
|
"@tabSize": "4",
|
||||||
|
"@useSoftTabs": "true"
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"@builder": "auto",
|
||||||
|
"@path": "/.c9/builders",
|
||||||
|
"@saveall": "true"
|
||||||
|
},
|
||||||
|
"find.nak": {
|
||||||
|
"@searchLimit": 100
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"@stripws": false
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"@eslintrc": "true",
|
||||||
|
"@instanceHighlight": "true",
|
||||||
|
"@semi": "true",
|
||||||
|
"@undeclaredVars": "true",
|
||||||
|
"@unusedFunctionArgs": "false",
|
||||||
|
"@warnLevel": "info"
|
||||||
|
},
|
||||||
|
"run": {
|
||||||
|
"@path": "/.c9/runners",
|
||||||
|
"configs": {
|
||||||
|
"@inited": "true",
|
||||||
|
"json()": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
265
.c9/state.settings
Normal file
265
.c9/state.settings
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
{
|
||||||
|
"console": {
|
||||||
|
"@expanded": true,
|
||||||
|
"@height": 269,
|
||||||
|
"@maximized": "false",
|
||||||
|
"json()": {
|
||||||
|
"meta": {
|
||||||
|
"accessList": [
|
||||||
|
"tab8",
|
||||||
|
"tab1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"name": "pane1",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"type": "tab",
|
||||||
|
"name": "tab1",
|
||||||
|
"path": "",
|
||||||
|
"className": [
|
||||||
|
"tab1"
|
||||||
|
],
|
||||||
|
"document": {
|
||||||
|
"filter": true,
|
||||||
|
"title": "Immediate (Javascript (browser))",
|
||||||
|
"tooltip": "Immediate (Javascript (browser))",
|
||||||
|
"immediate": {
|
||||||
|
"folds": [],
|
||||||
|
"scrolltop": 0,
|
||||||
|
"scrollleft": 0,
|
||||||
|
"selection": {
|
||||||
|
"start": {
|
||||||
|
"row": 8,
|
||||||
|
"column": 0
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"row": 8,
|
||||||
|
"column": 21
|
||||||
|
},
|
||||||
|
"isBackwards": true
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"guessTabSize": true,
|
||||||
|
"useWrapMode": false,
|
||||||
|
"wrapToView": true
|
||||||
|
},
|
||||||
|
"firstLineState": 0,
|
||||||
|
"type": "jsbrowser",
|
||||||
|
"history": [
|
||||||
|
"\"refs/heads/template\".match(/\\/master$/)",
|
||||||
|
"\"refs/heads/master\".match(/\\/master$/)",
|
||||||
|
"s.match(/\\/master$/)",
|
||||||
|
"s = \"refs/heads/master\""
|
||||||
|
],
|
||||||
|
"pos": -1
|
||||||
|
},
|
||||||
|
"hash": "722c479a340a3da2396735615b87d31f3373e145",
|
||||||
|
"meta": {
|
||||||
|
"timestamp": 1452973618356
|
||||||
|
},
|
||||||
|
"changed": false
|
||||||
|
},
|
||||||
|
"editorType": "immediate",
|
||||||
|
"active": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tab",
|
||||||
|
"name": "tab8",
|
||||||
|
"path": "",
|
||||||
|
"className": [
|
||||||
|
"tab8",
|
||||||
|
"focus"
|
||||||
|
],
|
||||||
|
"document": {
|
||||||
|
"changed": false,
|
||||||
|
"meta": {
|
||||||
|
"timestamp": 1452978225696
|
||||||
|
},
|
||||||
|
"filter": true,
|
||||||
|
"title": "Terminal",
|
||||||
|
"terminal": {
|
||||||
|
"id": "devel_232",
|
||||||
|
"cwd": "",
|
||||||
|
"width": 1328,
|
||||||
|
"height": 243
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"editorType": "terminal",
|
||||||
|
"active": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skin": "editor_tab",
|
||||||
|
"skinset": "default",
|
||||||
|
"type": "pane"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"experiments": {
|
||||||
|
"@@enabled": true,
|
||||||
|
"@flat-dark": 0,
|
||||||
|
"@git": 1,
|
||||||
|
"@mount": 0,
|
||||||
|
"@plugin-manager": 0,
|
||||||
|
"@plugins": 0,
|
||||||
|
"@sdk": 0,
|
||||||
|
"@test": 0
|
||||||
|
},
|
||||||
|
"ext": {
|
||||||
|
"counters": {
|
||||||
|
"@ace": 1,
|
||||||
|
"@acestatus": 1,
|
||||||
|
"@divider": 5,
|
||||||
|
"@document": 6,
|
||||||
|
"@form": 5,
|
||||||
|
"@immediate": 1,
|
||||||
|
"@menu": 7,
|
||||||
|
"@menuitem": 17,
|
||||||
|
"@pane": 2,
|
||||||
|
"@session": 5,
|
||||||
|
"@tab": 1,
|
||||||
|
"@undoManager": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"findinfiles": {
|
||||||
|
"@console": "true",
|
||||||
|
"@matchcase": "false",
|
||||||
|
"@regex": "false",
|
||||||
|
"@wholeword": "false"
|
||||||
|
},
|
||||||
|
"menus": {
|
||||||
|
"@minimized": "false"
|
||||||
|
},
|
||||||
|
"nak": {
|
||||||
|
"@installed": true
|
||||||
|
},
|
||||||
|
"panecycle": {
|
||||||
|
"json()": [
|
||||||
|
"tab8",
|
||||||
|
"tab6"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"panels": {
|
||||||
|
"@active-left": "tree",
|
||||||
|
"@active-right": "none",
|
||||||
|
"commands.panel": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "commands.panel"
|
||||||
|
},
|
||||||
|
"debugger": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "debugger"
|
||||||
|
},
|
||||||
|
"navigate": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "navigate"
|
||||||
|
},
|
||||||
|
"outline": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "outline"
|
||||||
|
},
|
||||||
|
"scm": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "scm"
|
||||||
|
},
|
||||||
|
"tree": {
|
||||||
|
"@enabled": "true",
|
||||||
|
"@name": "tree"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"projecttree": {
|
||||||
|
"@showfs": true,
|
||||||
|
"expanded": {
|
||||||
|
"json()": [
|
||||||
|
"/",
|
||||||
|
"/bin",
|
||||||
|
"/routes"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"recentfiles": {
|
||||||
|
"json()": []
|
||||||
|
},
|
||||||
|
"tabs": {
|
||||||
|
"json()": {
|
||||||
|
"focus": "/routes/index.js",
|
||||||
|
"meta": {
|
||||||
|
"accessList": [
|
||||||
|
"tab6",
|
||||||
|
"tab0",
|
||||||
|
"tab3"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"name": "pane0",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"type": "tab",
|
||||||
|
"name": "tab3",
|
||||||
|
"path": "/bin/www",
|
||||||
|
"className": [
|
||||||
|
"tab3"
|
||||||
|
],
|
||||||
|
"document": {
|
||||||
|
"meta": {
|
||||||
|
"timestamp": 1452973671206
|
||||||
|
},
|
||||||
|
"filter": true,
|
||||||
|
"title": "www",
|
||||||
|
"tooltip": "/bin/www",
|
||||||
|
"ace": {},
|
||||||
|
"changed": false
|
||||||
|
},
|
||||||
|
"editorType": "ace",
|
||||||
|
"active": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tab",
|
||||||
|
"name": "tab6",
|
||||||
|
"path": "/routes/index.js",
|
||||||
|
"className": [
|
||||||
|
"tab6",
|
||||||
|
"focus"
|
||||||
|
],
|
||||||
|
"document": {
|
||||||
|
"changed": false,
|
||||||
|
"meta": {
|
||||||
|
"timestamp": 1452975302950
|
||||||
|
},
|
||||||
|
"filter": true,
|
||||||
|
"title": "index.js",
|
||||||
|
"tooltip": "/routes/index.js",
|
||||||
|
"ace": {}
|
||||||
|
},
|
||||||
|
"editorType": "ace",
|
||||||
|
"active": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tab",
|
||||||
|
"name": "tab0",
|
||||||
|
"path": "/test.sh",
|
||||||
|
"className": [
|
||||||
|
"tab0"
|
||||||
|
],
|
||||||
|
"document": {
|
||||||
|
"changed": false,
|
||||||
|
"meta": {
|
||||||
|
"timestamp": 1452978488496
|
||||||
|
},
|
||||||
|
"filter": true,
|
||||||
|
"title": "test.sh",
|
||||||
|
"tooltip": "/test.sh",
|
||||||
|
"ace": {}
|
||||||
|
},
|
||||||
|
"editorType": "ace",
|
||||||
|
"active": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skin": "editor_tab",
|
||||||
|
"skinset": "default",
|
||||||
|
"type": "pane"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree_selection": {
|
||||||
|
"json()": [
|
||||||
|
"/routes/index.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
30
.gitignore
vendored
Normal file
30
.gitignore
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
|
||||||
|
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directory
|
||||||
|
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# Debug log from npm
|
||||||
|
npm-debug.log
|
60
app.js
Normal file
60
app.js
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
var express = require('express');
|
||||||
|
var path = require('path');
|
||||||
|
var favicon = require('serve-favicon');
|
||||||
|
var logger = require('morgan');
|
||||||
|
var cookieParser = require('cookie-parser');
|
||||||
|
var bodyParser = require('body-parser');
|
||||||
|
|
||||||
|
var routes = require('./routes/index');
|
||||||
|
var users = require('./routes/users');
|
||||||
|
|
||||||
|
var app = express();
|
||||||
|
|
||||||
|
// view engine setup
|
||||||
|
app.set('views', path.join(__dirname, 'views'));
|
||||||
|
app.set('view engine', 'ejs');
|
||||||
|
|
||||||
|
// uncomment after placing your favicon in /public
|
||||||
|
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
|
||||||
|
app.use(logger('dev'));
|
||||||
|
app.use(bodyParser.json());
|
||||||
|
app.use(bodyParser.urlencoded({ extended: false }));
|
||||||
|
app.use(cookieParser());
|
||||||
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
|
app.use('/', routes);
|
||||||
|
app.use('/users', users);
|
||||||
|
|
||||||
|
// catch 404 and forward to error handler
|
||||||
|
app.use(function(req, res, next) {
|
||||||
|
var err = new Error('Not Found');
|
||||||
|
err.status = 404;
|
||||||
|
next(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
// error handlers
|
||||||
|
|
||||||
|
// development error handler
|
||||||
|
// will print stacktrace
|
||||||
|
if (app.get('env') === 'development') {
|
||||||
|
app.use(function(err, req, res, next) {
|
||||||
|
res.status(err.status || 500);
|
||||||
|
res.render('error', {
|
||||||
|
message: err.message,
|
||||||
|
error: err
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// production error handler
|
||||||
|
// no stacktraces leaked to user
|
||||||
|
app.use(function(err, req, res, next) {
|
||||||
|
res.status(err.status || 500);
|
||||||
|
res.render('error', {
|
||||||
|
message: err.message,
|
||||||
|
error: {}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = app;
|
90
bin/www
Executable file
90
bin/www
Executable file
@ -0,0 +1,90 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var app = require('../app');
|
||||||
|
var debug = require('debug')('gitDeploy:server');
|
||||||
|
var http = require('http');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get port from environment and store in Express.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var port = normalizePort(process.env.PORT || '3180');
|
||||||
|
app.set('port', port);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTTP server.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var server = http.createServer(app);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listen on provided port, on all network interfaces.
|
||||||
|
*/
|
||||||
|
|
||||||
|
server.listen(port);
|
||||||
|
server.on('error', onError);
|
||||||
|
server.on('listening', onListening);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Normalize a port into a number, string, or false.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function normalizePort(val) {
|
||||||
|
var port = parseInt(val, 10);
|
||||||
|
|
||||||
|
if (isNaN(port)) {
|
||||||
|
// named pipe
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (port >= 0) {
|
||||||
|
// port number
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "error" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onError(error) {
|
||||||
|
if (error.syscall !== 'listen') {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
var bind = typeof port === 'string'
|
||||||
|
? 'Pipe ' + port
|
||||||
|
: 'Port ' + port;
|
||||||
|
|
||||||
|
// handle specific listen errors with friendly messages
|
||||||
|
switch (error.code) {
|
||||||
|
case 'EACCES':
|
||||||
|
console.error(bind + ' requires elevated privileges');
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
case 'EADDRINUSE':
|
||||||
|
console.error(bind + ' is already in use');
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "listening" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onListening() {
|
||||||
|
var addr = server.address();
|
||||||
|
var bind = typeof addr === 'string'
|
||||||
|
? 'pipe ' + addr
|
||||||
|
: 'port ' + addr.port;
|
||||||
|
debug('Listening on ' + bind);
|
||||||
|
}
|
17
package.json
Normal file
17
package.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "gitDeploy",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"start": "node ./bin/www"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"body-parser": "~1.13.2",
|
||||||
|
"cookie-parser": "~1.3.5",
|
||||||
|
"debug": "~2.2.0",
|
||||||
|
"ejs": "~2.3.3",
|
||||||
|
"express": "~4.13.1",
|
||||||
|
"morgan": "~1.6.1",
|
||||||
|
"serve-favicon": "~2.3.0"
|
||||||
|
}
|
||||||
|
}
|
8
public/stylesheets/style.css
Normal file
8
public/stylesheets/style.css
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
body {
|
||||||
|
padding: 50px;
|
||||||
|
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #00B7FF;
|
||||||
|
}
|
15
routes/index.js
Normal file
15
routes/index.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
var express = require('express');
|
||||||
|
var router = express.Router();
|
||||||
|
var exec = require('child_process').exec;
|
||||||
|
/* GET home page. */
|
||||||
|
router.all('/', function(req, res, next) {
|
||||||
|
if(req.headers['x-github-event'] === 'push'){
|
||||||
|
if(req.body.ref === "refs/heads/master"){
|
||||||
|
console.log('time to update master!');
|
||||||
|
exec('/var/www/gitwrapperdeploy.sh', console.log, console.log);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res.render('index', { title: 'Express' });
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
9
routes/users.js
Normal file
9
routes/users.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
var express = require('express');
|
||||||
|
var router = express.Router();
|
||||||
|
|
||||||
|
/* GET users listing. */
|
||||||
|
router.get('/', function(req, res, next) {
|
||||||
|
res.send('respond with a resource');
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
3
views/error.ejs
Normal file
3
views/error.ejs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<h1><%= message %></h1>
|
||||||
|
<h2><%= error.status %></h2>
|
||||||
|
<pre><%= error.stack %></pre>
|
11
views/index.ejs
Normal file
11
views/index.ejs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title><%= title %></title>
|
||||||
|
<link rel='stylesheet' href='/stylesheets/style.css' />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1><%= title %></h1>
|
||||||
|
<p>Welcome to <%= title %></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
x
Reference in New Issue
Block a user