You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2014/08/05 20:30:54 UTC

[Bug 56707] Websocket response incorrectly includes transfer encoding chunked header

https://issues.apache.org/bugzilla/show_bug.cgi?id=56707

--- Comment #8 from Ahab. A. <ea...@yahoo.com> ---
(In reply to Yann Ylavic from comment #7)
> The other solution is to use ap_fwrite(r->connection->output_filters, ...)
> so that HTTP output filters won't mangle the response (which is pretty much
> what ap_send_interim_response() will do).

Hi Yann,

I tried your work-arounds and unfortunately I was unsuccessful as normal
(non-websocket) HTTP seems to break (not all content gets flushed out). Also
ap_send_interim_response() seems to ignore sending the HTTP status CODE, I had
to work around that by prepending the status code to the status line to get the
status response in proper HTTP form.

In any event, I think the real problem is that Apache's HTTP processing in
general (http module, filters..etc) are not AWARE of the "new" websocket
protocol all together! For example, it doesn't know/aware of HTTP code 101
"Switching Protocol" nor is it aware of "Connection: upgrade" and "Upgrade:
websocket" headers.

If you look at Apache's HTTP protocol code, for example, http_protocol.c,
http_filters.c..etc, you'll clearly see it only assume EITHER chunked encoding
or content length (for payload processing). Also, it only assumes the
"Connection" header can have either "close or keepalive" values, it's not aware
of "upgrade" value. You can go on and on with examples like that.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org