Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 51638 invoked from network); 4 Dec 2009 17:24:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Dec 2009 17:24:55 -0000 Received: (qmail 60823 invoked by uid 500); 4 Dec 2009 17:24:54 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 60758 invoked by uid 500); 4 Dec 2009 17:24:54 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 60748 invoked by uid 99); 4 Dec 2009 17:24:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Dec 2009 17:24:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Dec 2009 17:24:42 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id A53FC234C1F0 for ; Fri, 4 Dec 2009 09:24:21 -0800 (PST) Message-ID: <2072193268.1259947461675.JavaMail.jira@brutus> Date: Fri, 4 Dec 2009 17:24:21 +0000 (UTC) From: "Benoit Chesneau (JIRA)" To: dev@couchdb.apache.org Subject: [jira] Created: (COUCHDB-591) _rewrite handler MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org _rewrite handler ---------------- Key: COUCHDB-591 URL: https://issues.apache.org/jira/browse/COUCHDB-591 Project: CouchDB Issue Type: New Feature Components: HTTP Interface Affects Versions: 0.11 Reporter: Benoit Chesneau Attachments: couchdb_rewrite.patch Find attached a patch providing simple url rewritig in CouchDB. You can also find it in my github repo : http://github.com/benoitc/couchdb/tree/rewrite The design is very simple. Everything is managed via a simple javascript function that return a path or throw 'forbidden', 'unauthorized' and "not found" errors. The request object is passed to the function and then depending on the path, verb or userCtx you could decide how to rewrite the path. All relatives path are relative to design doc. The _rewriter is available at db or _design level : /db/_rewrite/designname/path or /db/_design/designame/_rewrite/path. Then _rewrite handler look in design doc if `rewrite` member exists and load the function. A snippet is avalaible here : http://markmail.org/message/4alwtb2zzgwu7iz7 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.