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] Updated: (COUCHDB-348) / should redirect to a human readable page when accessed from a browser
Date Thu, 17 Dec 2009 09:19:18 GMT

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

Filipe Manana updated COUCHDB-348:
----------------------------------

    Attachment: encs.erl

Matthew, regarding the of parsing Q values, I did it for a patch to 583. It was done for parsing
the "Accept-Encoding" header, but it should be reusable for other Q values lists. I didn't
find it in Mochiweb also :( I agree with yout, it's boring to do such a parsing function.

I add it here in a separate file with test functions. The main function is build_enc_lists/1,
which builds 2 lists, one for Q values > 0, and the other with Q values == 0. It ignores
white spaces all over and it's case insensitive (as rfc 2626 says):

test_build_lists() ->
    {[], []} = build_enc_lists(""),
    {[], [identity]} = build_enc_lists("identity;q=0"),
    {[], [identity]} = build_enc_lists("identity ;q=0"),
    {[], [identity]} = build_enc_lists(" identity; q =0 "),
    {[], [identity]} = build_enc_lists("identity ; q = 0"),
    {[], [identity]} = build_enc_lists("identity ; q= 0.0"),
    {[gzip, deflate], [identity]} = build_enc_lists("gzip,deflate,identity;q=0.0"),
    {[deflate, gzip], [identity]} = build_enc_lists("deflate,gzip,identity;q=0.0"),
    {[gzip, deflate, gzip], [identity]} = build_enc_lists("gzip,deflate,gzip,identity;q=0"),
    {[gzip, deflate], [identity]} = build_enc_lists("gzip, deflate , identity; q=0.0"),
    {[gzip, deflate], [identity]} = build_enc_lists("gzip; q=1, deflate;q=1.0, identity;q=0.0"),
    {[deflate, gzip], [identity]} = build_enc_lists("gzip; q=0.5, deflate;q=1.0, identity;q=0"),
    {[deflate, gzip], [identity]} = build_enc_lists("gzip; q=0.5, deflate , identity;q=0.0"),
    {[deflate, gzip], [identity]} = build_enc_lists("gzip; q=0.5, deflate;q=0.8, identity;q=0.0"),
    {[deflate, identity, gzip], []} = build_enc_lists("gzip; q=0.5,deflate,identity"),
    {[deflate, identity, identity, gzip], []} = build_enc_lists("gzip; q=0.5,deflate,identity,
identity "),
    ok.

cheers

> / should redirect to a human readable page when accessed from a browser
> -----------------------------------------------------------------------
>
>                 Key: COUCHDB-348
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-348
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: HTTP Interface
>            Reporter: Chris Anderson
>             Fix For: 0.11
>
>         Attachments: COUCHDB_348_01.patch, COUCHDB_348_02.patch, COUCHDB_348_03.patch,
encs.erl
>
>
> As more people are adopting CouchDB, the number of questions along the lines of "All
I see is {"couchdb":"Welcome","version":"0.10.0a773399"}, what now?"
> If this page redirected to /_utils/ (or maybe something more user-focussed) when the
accept headers included html, we could make the first-time user experience more palatable.
> There's some code in COUCHDB-234 that might be helpful here.

-- 
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