[ 
https://issues.apache.org/jira/browse/COUCHDB-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Shorin updated COUCHDB-1006:
--------------------------------------

    Component/s:     (was: Database Core)
                 HTTP Interface
    
> Ability to replace substrings in rewriter
> -----------------------------------------
>
>                 Key: COUCHDB-1006
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1006
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: HTTP Interface
>            Reporter: Volker Mische
>            Priority: Minor
>         Attachments: rewrite-replace.patch
>
>
> The current rewriter is bound to the parts of a path. Therefore I propose and 
> additional "replace" property to be able to rewrite URLs beyond that 
> limitation. One example would be subpages in a wiki, where each subpage 
> corresponds to one document in the database. Here's an example:
> Desired URL:
> http://example.com/wiki/apache-projects/couchdb/info
> URL without rewriting:
> http://example.com/wiki/apache-projects%2fcouchd%2f/info
> Another use case is when you have to deal with attachments. For example if 
> you want to build a TMS tilecache [1] bases on CouchDB. My URL would look 
> like this (where "tile" is the attachement):
> http://example.com/tilecache/3-5-2/tile
> But I'd need an URL like
> http://example.com/tilecache/tiles/3/5/2.png
> (resp. 
> http://example.com/tilecache/_design/tilecache/_rewrite/tiles/6/9/9.png)
> My modification to the rewriter allows you to replace substrings with other 
> ones. Here's the rewriter rule for this example:
> {
>     "from" : "/tiles/<x>/<y>/<z>.png",
>     "to" : "..\\/..\\/:x/:y/:z/tile",
>     "replace": {
>         "old": "/",
>         "new": "-",
>         "limit": -1
>     }
> }
> It replaces all occurences of "/" with "-" on the "to"-path. Two slashes 
> ("\\") escape a character, so it won't be replaced. The "limit" parameter 
> specifies how many occurences should be replaced. It could be either 
> positive, then it will just count how often a string was already replaced and 
> stop at the limit. If "limit" is negative, it will count from the back. This 
> is especially useful if you want to replace slashes and know how many slashes 
> the attachment has, but not how many the document has.
> [1] http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to