incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Filipe Manana (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-472) handle custom CouchdDB welcome page
Date Mon, 09 Aug 2010 14:12:17 GMT

    [ https://issues.apache.org/jira/browse/COUCHDB-472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12896556#action_12896556
] 

Filipe Manana commented on COUCHDB-472:
---------------------------------------

Hi Benoit,

Shouldn't the web page be served only if the client accepts text/html? The patch seems to
send the page when the client doesn't explicitely list "application/json" as acceptable.

Also, there's something missing when parsing the Accept header.
You grab its value and then split it based on commas. But the Accept header can be a Q values
list.

If you have "Accept: application/json; q = 0.5, *; q = 0.3", your code will serve the html
page anyway, ignoring the q = 0.5.

Look at http://github.com/mochi/mochiweb/blob/master/src/mochiweb_util.erl#L416 for parsing
a Q values list.

> handle custom CouchdDB welcome page
> -----------------------------------
>
>                 Key: COUCHDB-472
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-472
>             Project: CouchDB
>          Issue Type: Improvement
>    Affects Versions: 0.10
>            Reporter: Benoit Chesneau
>            Assignee: Benoit Chesneau
>             Fix For: 0.12
>
>         Attachments: COUCHDB-472-2.patch, COUCHDB-472.patch, couchdb_welcome.patch, couchdb_welcome2.patch,
couchdb_welcome3.patch, screenshot.png, Welcome page screenshot.jpg
>
>
> This change modify behaviour of Welcome handler by allowing admin to customize the welcome
page. If content is "application/json" it will send current json object, if not, it will send
an html page or redirect to another path.  
> This patch change the confugration string to a tupple {WelcomeMsg, WelcomePage}. WelcomePage
could be a string for DocumentRoot where it will find welcome.html page or a tupple {redirect,
Url}
> Ex if in config you have:
> / = {couch_httpd_misc_handlers, handle_welcome_req, {<<"Welcome">>, "/usr/local/share/couchdb/www"}}
> If Accept content is application/json Couchdb will send :
> "couchdb":"Welcome","version":"0.10.0a"}
> If other it will send welcome.html.
> if you replace "/usr/local/share/couchdb/www" by {redirect, <<"/_utils">>} user
will be redirected on futon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message