Hi all

I need a tiny addition made to connection.c.

In keepalive_possible(), can we change the line that says

    if (0 == strcasecmp (end, "close"))

to



    if (0 == strcasecmp (end, "close") || 0 == strcasecmp (end, "upgrade"))

?

This would make it possible to use libmicrohttpd in a WebSocket (RFC6455) 
environment. Currently, the way that the WebSocket protocol works, it sends 
"Connection: Upgrade" in the headers with the initial handshake, which causes 
this check to fail and (ultimately) insert "Connection: Keep-Alive" in the 
response headers (which cause any compliant WebSocket client to fail the 
handshake, since it needs "Connection: Upgrade" in the response headers, and 
there is no way to remove this keepalive header from the response from outside 
of MHD, as it is added automatically to the response buffer).

Note that this is only an HTTP/1.1 issue, AFAIK (I am pretty sure, though not 
positive, that WebSocket is not compatible with HTTP/1.0).

Thanks!
Greg

Reply via email to