couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ermouth <>
Subject Re: [PROPOSAL] Allow rewrites to be JS function
Date Thu, 08 Oct 2015 19:43:00 GMT
Addition: AMI is available only for EU(Ireland) AWS zone. Please, select it
before choosing AMI.


2015-10-08 21:59 GMT+03:00 ermouth <>:

> Dear couchappers!
> My collegues created Amazon EC2 AMI image with Ubuntu 14.04 and CouchDB
> 2.0.4ca9e41 + JS-rewrite patches applied over it. AMI image is publically
> available under AMI ID ami-29ecda5e (section ‘Community AMIs’).
> You can launch your own instance from this AMI and have empty CouchDB2
> (with JS rewrites) auto-launched in single-node mode. When creating your
> EC2 instance do not forget to allow access to your instance from your IP
> (create Security Group with appropriate network settings).
> Short specs
> ------------
> Any design doc for this fork can have .rewrite section, defined as a
> string, containing function. ‘Classic’ array format is surely also
> supported.
> Rewrite function receives one argument, req2 object, that is lean version
> of req object for list functions. Unlike lists, rewrite function‘s req2 obj
> does not have properties .id, .uuid, .info, .requested_path and .form. All
> other properties are in place.
> Rewrite function must return object of structure {path:String,
> method:String, code:Number, headers:Object, body:String}. The property
> .path is mandatory, all other properties are optional.
> Some hints on usage
> ------------
> Using js rewrites you can, for example:
> * create per-user DBs from non-admin requests;
> * allow users to self-register;
> * have fair multi-user shared DBs with restricted replication;
> ...etc.
> Will be happy to hear other scenarios from you! Play with it and explore
> boundaries of the feature.
> Please, feel free to ask questions.
> BR,
> ermouth
> PS. Code was reviewed by @kxepal (Alexander, thank you for it!), and
> received several not yet fixed non-critical remarks. I‘m working on
> cleaning em up. Please note: this preview is NOT intended for production
> and does not support Erlang rewrite fns, only JS.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message