<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I have confirmed this issue exists on all versions of websockets > 1.3 and on the windows builds besides linux builds. <div><br></div><div>This sounds like a bug in libwebsockets when using HTTP protocol over HTTPS on the server side. </div><div>If anyone has any insight into how to fix the problem, it would be greatly appreciated.<br><br><div><hr id="stopSpelling">From: andy.green@linaro.org<br>To: libwebsockets@ml.libwebsockets.org<br>Date: Tue, 30 Jun 2015 15:19:10 -0700<br>Subject: Re: [Libwebsockets] libwebsockets-1.4 HTTP server help with huge http chunks<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr">Sorry for the other emails, I have much easier reproducible steps for this that maybe you guys can help me with:<div><br><div>1. <span style="font-size:12pt;">Build 1.4 test-server binary. </span></div><div><span style="font-size:12pt;">2. Run it with --ssl option. </span></div><div><span style="font-size:12pt;">3. Use an HTTP client on another machine, like Advanced Rest Client to send a POST data to https://<your server>:<your ssl port>. Start with under 4k sized payloads and notice it works and server receives both BODY and BODY COMPLETION.</span></div><div><span style="font-size:12pt;">4. Change to higher than 4k POST data payload, and notice that the server only receives the first 4k chunk and then gets stuck.</span></div><div><span style="font-size:12pt;"><br></span></div><div><span style="font-size:12pt;"><br></span></div><div><br><div><hr id="ecxstopSpelling">From: andy.green@linaro.org<br>To: libwebsockets@ml.libwebsockets.org<br>Date: Tue, 30 Jun 2015 00:53:59 -0700<br>Subject: Re: [Libwebsockets] libwebsockets-1.4 HTTP server help with huge http chunks<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}


--></style>
<div dir="ltr">One thing I forgot to mention: this only happens on HTTPS, not HTTP. HTTP works fine. Any ideas why HTTPS would be doing this? It gets the first 4K data just fine, just hangs after that and never gets the second or more 4K data.<br><br><div><hr id="ecxstopSpelling">From: andy.green@linaro.org<br>To: libwebsockets@ml.libwebsockets.org<br>Date: Mon, 29 Jun 2015 22:08:58 -0700<br>Subject: [Libwebsockets] libwebsockets-1.4 HTTP server help with huge http       chunks<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}


--></style>
<div dir="ltr">Hello,<div>I am trying to host an HTTP server (using the test-server.c sample code). I have a client app that sends big chunks of HTTP data (around 10k-15k) to the server.</div><div>The server doesn't seem to parse the body fragments well. </div><div><br></div><div>By default libwebsockets delivers data in 4k chunks. This seems to work fine for chunks less than 8k after adding libbwesockets_return_http_status with HTTP_OK after each LWS_CALLBACK_HTTP_BODY message. In the case of less than 8K and greater than 4K, I get two LWS_CALLBACK_HTTP_BODY message, the first with 4k and then the remaining amount in the next message. Then I received the LWS_CALLBACK_HTTP_BODY_COMPLETION message. </div><div><br></div><div>But If I try something bigger than 8k, I never get the 3rd or higher chunk in the BODY Message, and sometimes the whole client app errors out.  I cannot find any sample out there to properly handle large HTTP chunks. I am hoping maybe you guys might have something out there.</div><div><br></div><div>Also, changing the rx_buffer_size in the http protocol seems to make no difference.</div><div><br></div><div>Thanks for any help!!</div>                                         </div>
<br>_______________________________________________
Libwebsockets mailing list
Libwebsockets@ml.libwebsockets.org
http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</div>                                    </div>
<br>_______________________________________________
Libwebsockets mailing list
Libwebsockets@ml.libwebsockets.org
http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</div></div></div>                                    </div>
<br>_______________________________________________
Libwebsockets mailing list
Libwebsockets@ml.libwebsockets.org
http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</div></div>                                        </div></body>
</html>