[
https://issues.apache.org/jira/browse/COUCHDB-882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907238#action_12907238
]
Jason Smith commented on COUCHDB-882:
-------------------------------------
I did not know why an atom was chosen instead of binary in the first place, so
I kept the original functionality, only changing for the newer situation.
For one thing, the log message may require changing since right now it says
'GET', 'PUT', etc. so I think that is ~p in the format. It will look pretty bad
as <<"GET">>, etc. in the logs.
I will try to use 100% atoms and submit another patch (during/after couchcamp).
> Nonstandard HTTP methods not converted to JSON correctly
> --------------------------------------------------------
>
> Key: COUCHDB-882
> URL: https://issues.apache.org/jira/browse/COUCHDB-882
> Project: CouchDB
> Issue Type: Bug
> Components: HTTP Interface
> Affects Versions: 1.0.1
> Environment: Erlang R13, Linux
> Reporter: Jason Smith
> Priority: Minor
> Fix For: 1.0.1
>
> Attachments:
> 0001-For-unknown-HTTP-methods-Use-a-binary-for-httpd.meth.patch
>
>
> Since COUCHDB-815, CouchDB allows nonstandard or unknown HTTP methods in case
> a _show or similar function may want to implement a response to that method.
> Unfortunately the (my) patch in that ticket used couch_util:to_existing_atom
> which returns the passed value unmodified if it has no corresponding atom.
> That is wrong because the HTTP method will be copied into the `req` object in
> the view server, therefore it must not be an Erlang string (list of integers)
> because those do not JSONify correctly. Instead, if the atom does not exist,
> the method should be converted to a binary.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.