[
https://issues.apache.org/jira/browse/COUCHDB-1697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13969862#comment-13969862
]
ASF subversion and git services commented on COUCHDB-1697:
----------------------------------------------------------
Commit d1ca821f015cceb98da443dc8e4e6478c97cf644 in couchdb's branch
refs/heads/master from [~kxepal]
[ https://git-wip-us.apache.org/repos/asf?p=couchdb.git;h=d1ca821 ]
Actually, run the test case for COUCHDB-1697
> if-none-match header causes 500 internal server error on CORS requests
> ----------------------------------------------------------------------
>
> Key: COUCHDB-1697
> URL: https://issues.apache.org/jira/browse/COUCHDB-1697
> Project: CouchDB
> Issue Type: Bug
> Components: HTTP Interface
> Affects Versions: 1.3
> Reporter: Ryan Ramage
> Assignee: Ryan Ramage
> Priority: Blocker
> Fix For: 1.3
>
>
> Browsers can send a if-none-match header to couchdb, but this can will break
> when CORS is enabled. The reason seems to be the header comes in as a binary,
> eg from the debug log the header is:
> {'If-None-Match',"\"V9J3604P4V9VTR5H77SBHJW\""},
> When maybe_apply_cors_headers is called, the assumption is that the headers
> are strings. This can be seen here:
> https://github.com/apache/couchdb/blob/b0420f9006915149e81607615720f32f21c76725/src/couchdb/couch_httpd_cors.erl#L219
> Thus a string:to_lower is undefined as can be seen in this stacktrace:
> [info] [<0.148.0>] Stacktrace: [{string,to_lower,
> [undefined],
> [{file,"string.erl"},{line,468}]},
> {couch_httpd_cors,maybe_apply_cors_headers,2,
> [{file,
>
> "/Users/jan/Work/build-couchdb-mac/build-couchdb/git-build/https%3A%2F%2Fgit-wip-us.apache.org%2Frepos%2Fasf%2Fcouchdb.git%3A06c3f351f158f107a8293c7c6c9b2415b942f0e9/src/couchdb/couch_httpd_cors.erl"},
> {line,219}]},
> {couch_httpd,send_response,4,
> [{file,
> See original gist
> https://gist.github.com/ryanramage/5143964#file-gistfile1-txt-L64
--
This message was sent by Atlassian JIRA
(v6.2#6252)