fake-api-server
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -1,2 +0,1 @@ | ||
// Generated by CoffeeScript 1.8.0 | ||
(function() { | ||
@@ -3,0 +2,0 @@ module.exports = { |
@@ -1,2 +0,1 @@ | ||
// Generated by CoffeeScript 1.8.0 | ||
(function() { | ||
@@ -6,4 +5,7 @@ var Resource; | ||
Resource = (function() { | ||
function Resource(_name) { | ||
this._name = _name; | ||
function Resource(_name1) { | ||
this._name = _name1; | ||
if (!(this instanceof Resource)) { | ||
return new Resource(_name); | ||
} | ||
this._records = []; | ||
@@ -15,10 +17,10 @@ this._idAttribute = "id"; | ||
return 1 + Math.max(0, Math.max.apply(Math, (function() { | ||
var _i, _len, _ref, _results; | ||
_ref = this._records; | ||
_results = []; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
d = _ref[_i]; | ||
_results.push(d[this._idAttribute]); | ||
var i, len, ref, results; | ||
ref = this._records; | ||
results = []; | ||
for (i = 0, len = ref.length; i < len; i++) { | ||
d = ref[i]; | ||
results.push(d[this._idAttribute]); | ||
} | ||
return _results; | ||
return results; | ||
}).call(_this))); | ||
@@ -61,3 +63,3 @@ }; | ||
} else { | ||
return "" + this._name + "s"; | ||
return this._name + "s"; | ||
} | ||
@@ -64,0 +66,0 @@ } else { |
@@ -1,2 +0,1 @@ | ||
// Generated by CoffeeScript 1.8.0 | ||
(function() { | ||
@@ -11,8 +10,14 @@ var Server, bodyParser, express; | ||
function Server() { | ||
if (!(this instanceof Server)) { | ||
return new Server(); | ||
} | ||
this._resources = []; | ||
this._server = express(); | ||
this._server.use(bodyParser()); | ||
this._server.use(bodyParser.json()); | ||
this._server.on("error", function(err) { | ||
return console.error(err); | ||
}); | ||
} | ||
Server.prototype._setupRoutes = function() { | ||
this._server.get("/api", (function(_this) { | ||
@@ -32,3 +37,3 @@ return function(req, res) { | ||
if (!resource) { | ||
return res.send(404); | ||
return res.sendStatus(404); | ||
} | ||
@@ -44,3 +49,3 @@ return res.send(resource.all()); | ||
if (!resource) { | ||
return res.send(404); | ||
return res.sendStatus(404); | ||
} | ||
@@ -60,7 +65,7 @@ if (!(data = resource.find(req.params.id))) { | ||
if (!resource) { | ||
return res.send(404); | ||
return res.sendStatus(404); | ||
} | ||
data = req.body; | ||
resource.add(data); | ||
return res.send(200); | ||
return res.sendStatus(200); | ||
}); | ||
@@ -73,6 +78,6 @@ }; | ||
if (!resource) { | ||
return res.send(404); | ||
return res.sendStatus(404); | ||
} | ||
if (resource.update(req.params.id, req.body)) { | ||
return res.send(200); | ||
return res.sendStatus(200); | ||
} else { | ||
@@ -85,10 +90,10 @@ res.statusCode = 404; | ||
})(this)); | ||
this._server["delete"]("/api/:resource/:id", (function(_this) { | ||
return this._server["delete"]("/api/:resource/:id", (function(_this) { | ||
return function(req, res) { | ||
return _this.find(req.params.resource, function(resource) { | ||
if (!resource) { | ||
return res.send(404); | ||
return res.sendStatus(404); | ||
} | ||
if (resource.remove(req.params.id)) { | ||
return res.send(200); | ||
return res.sendStatus(200); | ||
} else { | ||
@@ -101,9 +106,9 @@ res.statusCode = 404; | ||
})(this)); | ||
} | ||
}; | ||
Server.prototype.find = function(path, cb) { | ||
var resource, _i, _len, _ref; | ||
_ref = this._resources; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
resource = _ref[_i]; | ||
var i, len, ref, resource; | ||
ref = this._resources; | ||
for (i = 0, len = ref.length; i < len; i++) { | ||
resource = ref[i]; | ||
if (resource.pluralName() === path) { | ||
@@ -116,7 +121,11 @@ return cb(resource); | ||
Server.prototype["static"] = function(path) { | ||
this._server.use(express["static"](path)); | ||
Server.prototype.use = function(middleware) { | ||
this._server.use(middleware); | ||
return this; | ||
}; | ||
Server.prototype["static"] = function(path) { | ||
return this.use(express["static"](path)); | ||
}; | ||
Server.prototype.listen = function(port) { | ||
@@ -126,2 +135,7 @@ if (port == null) { | ||
} | ||
if (this._initialized) { | ||
throw new Error("Cannot call listen more than once!"); | ||
} | ||
this._setupRoutes(); | ||
this._initialized = true; | ||
this._server.listen(port); | ||
@@ -128,0 +142,0 @@ return this; |
{ | ||
"name": "fake-api-server", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"author": "Andrew Couch <fake-api-server@andrewcou.ch>", | ||
@@ -21,10 +21,14 @@ "description": "A simple, easy mock REST API server.", | ||
"dependencies": { | ||
"express": "~4.2.0", | ||
"body-parser": "~1.2.0" | ||
"body-parser": "^1.13.2", | ||
"express": "^4.13.1" | ||
}, | ||
"devDependencies": { | ||
"chai": "~1.9.1", | ||
"mocha": "~1.18.2", | ||
"coffee-script": "~1.8.0" | ||
"chai": "^3.2.0", | ||
"coffee-script": "^1.9.3", | ||
"grunt": "^0.4.5", | ||
"grunt-contrib-clean": "^0.6.0", | ||
"grunt-contrib-coffee": "^0.13.0", | ||
"grunt-mocha-test": "^0.12.7", | ||
"mocha": "^2.2.5" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
34044
17
254
212
7
+ Addedaccepts@1.3.8(transitive)
+ Addedarray-flatten@1.1.1(transitive)
+ Addedbody-parser@1.20.3(transitive)
+ Addedbytes@3.1.2(transitive)
+ Addedcall-bind-apply-helpers@1.0.1(transitive)
+ Addedcall-bound@1.0.3(transitive)
+ Addedcontent-disposition@0.5.4(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcookie@0.7.1(transitive)
+ Addedcookie-signature@1.0.6(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddepd@2.0.0(transitive)
+ Addeddestroy@1.2.0(transitive)
+ Addeddunder-proto@1.0.1(transitive)
+ Addedee-first@1.1.1(transitive)
+ Addedencodeurl@1.0.22.0.0(transitive)
+ Addedes-define-property@1.0.1(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.1.1(transitive)
+ Addedescape-html@1.0.3(transitive)
+ Addedetag@1.8.1(transitive)
+ Addedexpress@4.21.2(transitive)
+ Addedfinalhandler@1.3.1(transitive)
+ Addedforwarded@0.2.0(transitive)
+ Addedfresh@0.5.2(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.7(transitive)
+ Addedget-proto@1.0.1(transitive)
+ Addedgopd@1.2.0(transitive)
+ Addedhas-symbols@1.1.0(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhttp-errors@2.0.0(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedipaddr.js@1.9.1(transitive)
+ Addedmath-intrinsics@1.1.0(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmerge-descriptors@1.0.3(transitive)
+ Addedmethods@1.1.2(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedms@2.0.02.1.3(transitive)
+ Addednegotiator@0.6.3(transitive)
+ Addedobject-inspect@1.13.4(transitive)
+ Addedon-finished@2.4.1(transitive)
+ Addedparseurl@1.3.3(transitive)
+ Addedpath-to-regexp@0.1.12(transitive)
+ Addedproxy-addr@2.0.7(transitive)
+ Addedqs@6.13.0(transitive)
+ Addedrange-parser@1.2.1(transitive)
+ Addedraw-body@2.5.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsend@0.19.0(transitive)
+ Addedserve-static@1.16.2(transitive)
+ Addedsetprototypeof@1.2.0(transitive)
+ Addedside-channel@1.1.0(transitive)
+ Addedside-channel-list@1.0.0(transitive)
+ Addedside-channel-map@1.0.1(transitive)
+ Addedside-channel-weakmap@1.0.2(transitive)
+ Addedstatuses@2.0.1(transitive)
+ Addedtoidentifier@1.0.1(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedunpipe@1.0.0(transitive)
+ Addedutils-merge@1.0.1(transitive)
+ Addedvary@1.1.2(transitive)
- Removedaccepts@1.0.1(transitive)
- Removedbody-parser@1.2.2(transitive)
- Removedbuffer-crc32@0.2.1(transitive)
- Removedbytes@1.0.0(transitive)
- Removedcookie@0.1.2(transitive)
- Removedcookie-signature@1.0.3(transitive)
- Removeddebug@0.8.00.8.1(transitive)
- Removedescape-html@1.0.1(transitive)
- Removedexpress@4.2.0(transitive)
- Removedfresh@0.2.2(transitive)
- Removedmerge-descriptors@0.0.2(transitive)
- Removedmethods@1.0.0(transitive)
- Removedmime@1.2.11(transitive)
- Removednegotiator@0.4.9(transitive)
- Removedparseurl@1.0.1(transitive)
- Removedpath-to-regexp@0.1.2(transitive)
- Removedqs@0.6.6(transitive)
- Removedrange-parser@1.0.0(transitive)
- Removedraw-body@1.1.6(transitive)
- Removedsend@0.3.0(transitive)
- Removedserve-static@1.1.0(transitive)
- Removedtype-is@1.1.01.2.0(transitive)
- Removedutils-merge@1.0.0(transitive)
Updatedbody-parser@^1.13.2
Updatedexpress@^4.13.1