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

Robert Newson commented on COUCHDB-433:
---------------------------------------

This test demonstrates the bug. Because it's executed serially, it just hangs 
forever in the face of the incorrect Expect-Continue handling;

couchTests.custom_test = function(debug) {
  var db = new CouchDB("test_suite_db");
  db.deleteDb();
  db.createDb();

  var db2 = new CouchDB("test_suite_db", {"Expect":"100-continue"});

  if (debug) debugger;

  T(db2.save({_id:"1",a:2,b:4}).ok);
  T(db2.open("1") != null);
};




> CouchDB doesn't handle Expect header.
> -------------------------------------
>
>                 Key: COUCHDB-433
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-433
>             Project: CouchDB
>          Issue Type: Bug
>    Affects Versions: 0.10
>            Reporter: Robert Newson
>
> An HTTP client may elect to send an "Expect: 100-Continue" header. All 
> compliant HTTP servers are required to;
> "A server that does not understand or is unable to comply with any of the 
> expectation values in the Expect field of a request MUST respond with 
> appropriate error status. The server MUST respond with a 417 (Expectation 
> Failed) status if any of the expectations cannot be met or, if there are 
> other problems with the request, some other 4xx status."
> from http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
> CouchDB sends neither the Continue response (if it supports expect-continue) 
> or 417 (if it doesn't).
> This leads clients that include the header to hang while they timeout 
> expecting either response.
> Suggest returning a 417 response so that compliant clients will retry 
> immediately without the Expect header.

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

Reply via email to