You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Nathan Vander Wilt (JIRA)" <ji...@apache.org> on 2011/04/28 23:58:04 UTC
[jira] [Updated] (COUCHDB-1146) Content-Length ignored on GET
requests
[ 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