GithubHelp home page GithubHelp logo

cainus / percolator Goto Github PK

View Code? Open in Web Editor NEW
113.0 18.0 6.0 2.88 MB

Percolator is a framework for quickly and easily building quality HTTP APIs in Node.js

Home Page: https://github.com/cainus/percolator#readme

License: MIT License

JavaScript 100.00%

percolator's Introduction

Percolator

Build Status Coverage Status NPM version

Percolator is a new kind of web application framework (for node.js) for fun and fast development of quality APIs.

It's great for:

  • quality, public-facing APIs
  • single page apps
  • mobile apps

Its goal is to help make RESTful APIs in JSON that aren't painful to write and aren't painful to use.

See percolatorjs.com for more details.

percolator's People

Contributors

cainus avatar davidbgk avatar otakup0pe avatar samdec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

percolator's Issues

route-by-route middleware addition?

could just leave it up to routes to call individually and explicitly. does it need method-by-method granularity? or can it be on the entire resource?

is there a better way to handle cross-cutting aspects?

Update handler and promise, seems to be broken?

I implemented an update method, it has a kind-of-promise type implementation..

The update fails when the CRUDCollection method tries to run $.onJson in the generic update handler.

When my function returns a simple data structure immediately from within my update implementation directly, it works ok.

I'll post my code with a link soon if that would be useful.

etags support

add etags support. (to simple resources and CRUDCollection)

If an etag($) function is defined...

  • GETs return the etag($) return value in the ETag header as a quoted string.
  • If the client sends an If-Match header that matches it, then PUTs and DELETEs should be allowed to succeed, otherwise a 412 response (Precondition Failed) should be sent.
  • If the client sends an If-None-Match header that matches it, then GETs should return a 304 (Not Modified) response.

If fetch($) is defined for a resource, the etag($) function should be executed AFTER fetch($) so that $.fetched is available to the etag($) function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.