[ https://issues.apache.org/jira/browse/COUCHDB-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Volker Mische updated COUCHDB-1006: ----------------------------------- Attachment: rewrite-replace.patch Allow replacement of substrings. > Ability to replace substrings in rewriter > ----------------------------------------- > > Key: COUCHDB-1006 > URL: https://issues.apache.org/jira/browse/COUCHDB-1006 > Project: CouchDB > Issue Type: Improvement > Components: Database Core > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.