Fix static files

This commit is contained in:
Typicode
2014-03-19 10:31:54 +01:00
parent 25b2e43648
commit c3fa967a0a
3 changed files with 80 additions and 11 deletions

View File

@ -17,7 +17,9 @@
"underscore.inflections": "~0.2.1",
"moment": "~2.4.0",
"low": "^0.4.2",
"restify": "^2.6.3"
"restify": "^2.6.3",
"yargs": "^1.2.1",
"ecstatic": "^0.4.13"
},
"devDependencies": {
"supertest": "~0.8.1",

64
src/command.js Normal file
View File

@ -0,0 +1,64 @@
var yargv = require('yargs')
var request = require('request')
var low = require('low')
var server = require('./server')
function show() {
for (var prop in low.db) {
console.log(server.url + '/' + prop)
}
}
function start(port) {
server.listen(port, function() {
console.log('%s listening at %s', server.name, server.url);
})
}
function run() {
var argv = yargv.usage('Usage: $0 <source>')
.demand(1)
.default('port', 3000)
.argv
var source = argv._[0]
if (/\.json$/.test(source)) {
var path = process.cwd() + '/' + source
low.path = path
low.db = require(path);
show()
start()
}
if (/\.js$/.test(source)) {
var path = process.cwd() + '/' + source
low.db = require(path).run();
show()
start(argv.port)
}
if (/^http/.test(source)) {
request.get(source)
.end(function(err, res) {
if (err) {
console.error(err)
} else {
low.db = JSON.parse(res.text)
}
})
show()
start()
}
process.stdin.resume()
process.stdin.setEncoding('utf8')
process.stdin.on('data', function (chunk) {
if (chunk.trim().toLowerCase() === 's') {
low.save('db-' + Date.now() + '.json')
}
})
}
module.exports.run = run

View File

@ -1,11 +1,14 @@
var _ = require('underscore')
var low = require('low')
var ecstatic = require('ecstatic')
var restify = require('restify')
var utils = require('./utils')
low._.createId = utils.createId
var server = restify.createServer()
var server = restify.createServer({
name: 'JSON Server'
})
server.use(restify.acceptParser(server.acceptable))
server.use(restify.queryParser())
@ -16,6 +19,11 @@ server.use(restify.gzipResponse())
routes = {}
server.get(/^\/$|.*(.css)/, restify.serveStatic({
'directory': __dirname + '/../public',
'default': 'index.html'
}))
// GET /db
routes.db = function(req, res, next) {
res.send(low.db)
@ -112,11 +120,6 @@ server.put('/:resource/:id', routes.update)
server.patch('/:resource/:id', routes.update)
server.del('/:resource/:id', routes.destroy)
server.get('/', restify.serveStatic({
directory: './public',
default: 'index.html'
}));
server.on('after', function (req, res, route, err) {
var latency = Date.now() - req.time()
console.log('%s %s %s - %sms',