Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Implements an in-memory resource oriented HTTP server
JavaScript CoffeeScript Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
logs
test
.gitignore
README.md
cli.js
config.coffee
logger.coffee
package.json
persist.js
redispersist.coffee
resourceserver.js changed start to listen

README.md

Resourceserver

TODO:

  1. Add validation

  2. Add pre/post hooks

Implements an in-memory (or persistent via redis) resource oriented HTTP server, provding 5 basic operations (shown in curl_tests.sh). Edit redis connection config in config.coffee.

POST /:collection

Create a new resource.

curl -vX POST http://localhost:3002/people \
  -H 'content-type: application/json' -d '{"name": "Liam", "age": 29}'
{
  "name": "Liam",
  "age": 29,
  "id": 2
}
curl -vX POST http://localhost:3002/people \
  -H 'content-type: application/json' -d '{"name": "Noah", "age": 1}'
{
  "name": "Noah",
  "age": 1,
  "id": 2
}

GET /:collection/:id

Retrieve the :collection resource with id :id.

curl -v http://localhost:3002/people/1
{
  "name": "Liam",
  "age": 29,
  "id": 1
}

GET /:collection

Retrieve an array of all :collection resources.

curl -v http://localhost:3002/people
[
  {
    "name": "Liam",
    "age": 29,
    "id": 1
  },
  {
    "name": "Noah",
    "age": 1,
    "id": 2
  }
]

PUT /:collection/:id

Override the :collection resource with id :id.

curl -vX PUT http://localhost:3002/people/1 \
  -H 'content-type: application/json' -d '{"name": "LiamO", "age": 30}'
{
  "name": "LiamO",
  "age": 30,
  "id": "1"
}

DELETE /:collection/:id

Delete the :collection resource with id :id.

curl -vX DELETE http://localhost:3002/people/1

It uses the CORS headers to allow cross-origin requests.

Usage

  1. Clone the repository

  2. Install node.js

  3. Install the dependencies with npm install

  4. Start the server with npm start

  5. [Optional] Run tests with cd test && ./curl_tests.sh

Something went wrong with that request. Please try again.