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

Nathan Vander Wilt updated COUCHDB-1146:
----------------------------------------

    Description: 
In the case of a GET request, CouchDB does not wait for the client to send any 
content promised by a Content-Length header but sends its response as soon as 
the last header is received. This can confuse some HTTP client libraries (such 
as node.js) that do not expect to receive a response before they have finished 
the request.

To reproduce:
$ telnet localhost 5984
GET / HTTP/1.1
Content-Length: 3

...


Expected results:
No response from CouchDB until last "." is typed

Actual results:
CouchDB sends response and closes the client's connection as soon as request 
headers are done.

>From IRC conversation (and RFC 2616) this doesn't seem to be out-of-spec per 
>se, but is a bit "rude" and therefore can break fragile clients (eg 
>https://github.com/joyent/node/issues/989).

  was:
In the case of a GET request, CouchDB does not wait for the client to send any 
content promised by a Content-Length header but sends its response as soon as 
the last header is received. This can confuse some HTTP client libraries (such 
as node.js) that do not expect to receive a response before they have finished 
the request.

To reproduce:
$ telnet localhost 5984
GET / HTTP/1.1
Content-Length: 3

...


Expected results:
No response from CouchDB until last "." is typed

Actual results:
CouchDB sends response and closes the client's connection as soon as request 
headers are done.

>From IRC conversation (and RFC 2616) this doesn't seem to be out-of-spec per 
>se, but is a bit "rude" and therefore can break fragile clients.


> Content-Length ignored on GET requests
> --------------------------------------
>
>                 Key: COUCHDB-1146
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1146
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>            Reporter: Nathan Vander Wilt
>
> In the case of a GET request, CouchDB does not wait for the client to send 
> any content promised by a Content-Length header but sends its response as 
> soon as the last header is received. This can confuse some HTTP client 
> libraries (such as node.js) that do not expect to receive a response before 
> they have finished the request.
> To reproduce:
> $ telnet localhost 5984
> GET / HTTP/1.1
> Content-Length: 3
> ...
> Expected results:
> No response from CouchDB until last "." is typed
> Actual results:
> CouchDB sends response and closes the client's connection as soon as request 
> headers are done.
> From IRC conversation (and RFC 2616) this doesn't seem to be out-of-spec per 
> se, but is a bit "rude" and therefore can break fragile clients (eg 
> https://github.com/joyent/node/issues/989).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to