warmcat / libwebsockets

canonical libwebsockets.org networking library
https://libwebsockets.org
Other
4.75k stars 1.48k forks source link

lws_callback_on_writable not working with POST #501

Closed mjmessina closed 8 years ago

mjmessina commented 8 years ago

If you submit a post to libwebsocket, lws_callback_on_writable will never invoke a callback. I need to have the callback invoked due to large amounts of data going back to the client, when the body is complete.

mjmessina commented 8 years ago

Forgot to mention, this was on the dev (master branch). Works on v1.7-stable. But the post size seams limited. I get a "forbidding on uri sanitation".

lws-team commented 8 years ago

It's possible it's broke on master... I have been testing POST but to CGI, not normal body content.

I'll take a look in the next hour or two, but about uri sanitation, unless that's part of what broke, it should be unrelated. It should only apply to urlencoded content like %3f, if something is coming that is not two hex chars after the % it will get rejected.

Can you explain how I should reproduce?

lws-team commented 8 years ago

Testing it with wget trivially, it works OK on master test-server

wget -q --post-data="hello%21%21" http://localhost:7681 -O-

gives at the test server

lwsts[1017]: LWS_CALLBACK_HTTP_BODY: hello%21%21... len 11
lwsts[1017]: LWS_CALLBACK_HTTP_BODY_COMPLETION
lwsts[1017]: 127.0.0.1 - - [23/Apr/2016:06:22:42 +0800] "POST / http/1.1" 200 125 Wget/1.16.3 (linux-gnu)

You're going to have to explain exactly what you're doing so I can try to reproduce it.

mjmessina commented 8 years ago

The LWS_CALLBACK_HTTP_BODY_COMPLETION comes back just fine in most situations.

As soon as you get the LWS_CALLBACK_HTTP_BODY_COMPLETION, call lws_callback_on_writable(), and see that the call back never happens.

Or as soon as you get the LWS_CALLBACK_HTTP, you can try and calling lws_callback_on_writable(). Again the callback is not invoked.

I was on a master from about 2-3 weeks ago. I'll try re-pulling the master and test it.

mjmessina commented 8 years ago

Just tried the master again. If you get a post, lws_callback_on_writable() does not invoke a callback when the http socket is/becomes writable.

mjmessina commented 8 years ago

Should also state this is on windows (vc2015 compile).

lws-team commented 8 years ago

Can you help me understand how to reproduce? So it's an HTML form and you are POSTing from a browser, or something else? How much data are you sending, what kind of data is it... what kind of HTML should I make for the form to get this situation?

mjmessina commented 8 years ago

For the call lws_callback_on_writable() you can use anything that will post to the server. You should be able to use the: wget -q --post-data="hello%21%21" http://localhost:7681 -O-

To reproduce modify test-server-http.c file as follows:

case LWS_CALLBACK_HTTP_BODY_COMPLETION: lwsl_notice("LWS_CALLBACK_HTTP_BODY_COMPLETION\n"); /* the whole of the sent body arrived, close or reuse the connection */ lws_return_http_status(wsi, HTTP_STATUS_OK, NULL);

            // ADD THIS LINE BELOW:
           lws_callback_on_writable(wsi);

    goto try_to_reuse;

See if you get the LWS_CALLBACK_HTTP_WRITEABLE notification. I do not.

lws-team commented 8 years ago

Yeah I can reproduce it...

diff --git a/test-server/test-server-http.c b/test-server/test-server-http.c
index 4904e45..4481ea6 100644
--- a/test-server/test-server-http.c
+++ b/test-server/test-server-http.c
@@ -379,6 +379,8 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
                lwsl_notice("LWS_CALLBACK_HTTP_BODY: %s... len %d\n",
                                (const char *)buf, (int)len);

+               lws_callback_on_writable(wsi);
+
                break;

        case LWS_CALLBACK_HTTP_BODY_COMPLETION:
@@ -391,7 +393,7 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
                goto try_to_reuse;

        case LWS_CALLBACK_HTTP_WRITEABLE:
-               lwsl_info("LWS_CALLBACK_HTTP_WRITEABLE\n");
+               lwsl_notice("LWS_CALLBACK_HTTP_WRITEABLE\n");

                if (pss->client_finished)
                        return -1;
wget -q --post-file=big-file http://localhost:7681 -O-

He receives and completes fine but no WRITEABLE interleaved... generally things should get better at being interleaved not worse... let me poke at it.

lws-team commented 8 years ago

I just pushed a patch on master, please give it a go.

Note that once the WRITEABLE callbacks started coming, if testing with the test server, you need to make the callback just return 0.

mjmessina commented 8 years ago

Still doesn't seem to be working.

lws-team commented 8 years ago

It works here... to reproduce

diff --git a/test-server/test-server-http.c b/test-server/test-server-http.c
index 4904e45..5f0f4d2 100644
--- a/test-server/test-server-http.c
+++ b/test-server/test-server-http.c
@@ -379,6 +379,8 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
                lwsl_notice("LWS_CALLBACK_HTTP_BODY: %s... len %d\n",
                                (const char *)buf, (int)len);

+                lws_callback_on_writable(wsi);
+
                break;

        case LWS_CALLBACK_HTTP_BODY_COMPLETION:
@@ -391,7 +393,8 @@ int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
                goto try_to_reuse;

        case LWS_CALLBACK_HTTP_WRITEABLE:
-               lwsl_info("LWS_CALLBACK_HTTP_WRITEABLE\n");
+               lwsl_notice("LWS_CALLBACK_HTTP_WRITEABLE\n");
+               return 0;

                if (pss->client_finished)
                        return -1;

Then run the test server and fire a wget at it (I send the api doc as it's 52KB)

wget -q --post-file=/projects/libwebsockets/libwebsockets-api-doc.txt http://localhost:7681 -O-

Result is a bit messy because it prints the first few chars of the payload, but you can see WRITEABLE and the BODY callbacks interleaved

lwsts[15067]: libwebsockets test server - license LGPL2.1+SLE
lwsts[15067]: (C) Copyright 2010-2016 Andy Green <andy@warmcat.com>
Using resource path "/usr/local/share/libwebsockets-test-server"
lwsts[15067]: Initial logging level 7
lwsts[15067]: Libwebsockets version: 1.7.0 agreen@build.warmcat.com-v1.7.0-162-gfe3f60d
lwsts[15067]: IPV6 not compiled in
lwsts[15067]: libev support not compiled in
lwsts[15067]: libuv support compiled in but disabled
lwsts[15067]:  Threads: 1 each 100000 fds
lwsts[15067]:  mem: platform fd map: 800000 bytes
lwsts[15067]:  Compiled with OpenSSL support
lwsts[15067]:  SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
lwsts[15067]: Creating Vhost 'default' port 7681, 5 protocols
lwsts[15067]:  Listening on port 7681
lwsts[15067]:  mem: per-conn:          696 bytes + protocol rx buf
lwsts[15067]:  canonical_hostname = build.warmcat.com
lwsts[15067]: lws_http_serve: /
lwsts[15067]: HTTP connect from localhost2 (127.0.0.1)
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: Name:

lws_client_re... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY:  connection

Descri... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: user allocation that... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: SL

Synopsis:

int l... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: e and after buf as e... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY:  close

Synopsis:

i... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: ervice any pending w... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: ing to the
client (u... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: from the client, but... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: ake to a server,
eac... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: xt
    This extension

... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: rsion can do so by
s... len 4096
lwsts[15067]: LWS_CALLBACK_HTTP_WRITEABLE
lwsts[15067]: LWS_CALLBACK_HTTP_BODY: r setting listen soc... len 3690
lwsts[15067]: LWS_CALLBACK_HTTP_BODY_COMPLETION
lwsts[15067]: 127.0.0.1 - - [23/Apr/2016:19:49:31 +0800] "POST / http/1.1" 200 125 Wget/1.16.3 (linux-gnu)
mjmessina commented 8 years ago

Not working on windows. Tried it with your test server too. added some print statements to verify I was running my modified version here is the output:

$ libwebsockets-test-server --port=7000 [2016/03/23 07:37:16:3282] NOTICE: libwebsockets test server - license LGPL2.1+SLE [2016/03/23 07:37:16:3282] NOTICE: (C) Copyright 2010-2016 Andy Green andy@warmcat.com Using resource path "D:/mikeProjects/vertext/ext/WebSocketInstall/share/libwebsockets-test-server" [2016/03/23 07:37:16:3282] NOTICE: Initial logging level 16777215 [2016/03/23 07:37:16:3282] NOTICE: Libwebsockets version: 1.7.0 mike_i7mike@Mike_i7-v1.7.0-162-gfe3f60d [2016/03/23 07:37:16:3439] NOTICE: IPV6 not compiled in [2016/03/23 07:37:16:3439] NOTICE: libev support not compiled in [2016/03/23 07:37:16:3439] NOTICE: libuv support not compiled in [2016/03/23 07:37:16:3439] NOTICE: Threads: 1 each 30000 fds [2016/03/23 07:37:16:3439] NOTICE: Creating Vhost 'default' port 7000, 5 protocols [2016/03/23 07:37:16:3439] NOTICE: Listening on port 7000 [2016/03/23 07:37:16:3439] NOTICE: mem: per-conn: 432 bytes + protocol rx buf [2016/03/23 07:37:16:3595] NOTICE: canonical_hostname = Mike_i7 [2016/03/23 07:37:20:6325] NOTICE: lws_http_serve: / [2016/03/23 07:37:20:6345] NOTICE: HTTP connect from Mike_i7 (192.168.1.167) LWS_CALLBACK_HTTP_BODY: 6505|6605|6705|6805|... len 52 LWS_CALLBACK_HTTP_BODY_COMPLETION calling lws_callback_on_writable()

That's it no LWS_CALLBACK_HTTP_WRITEABLE notification.

As a side note to support javascript add this to header.c in your lws_return_http_status functions:


    if (lws_add_http_header_by_token(wsi, WSI_TOKEN_HTTP_ACCESS_CONTROL_ALLOW_ORIGIN, (unsigned char *)"*", 1, &p, end))
        return 1;
lws-team commented 8 years ago

Is it a case where the connection closes before the writeable notification can come? Or the connection stays up?

If I send something small by wget, I also don't get the writeable notification, but it's because the http connection has closed.

mjmessina commented 8 years ago

Yes, left the connection open.

I took out the lws_return_http_status(wsi, HTTP_STATUS_OK, NULL); in the body completed, called lws_callback_on_writable(), and returned 0.

case LWS_CALLBACK_HTTP_BODY_COMPLETION: { lwsl_notice("LWS_CALLBACK_HTTP_BODY_COMPLETION\n"); /* the whole of the sent body arrived, close or reuse the connection */ //lws_return_http_status(wsi, HTTP_STATUS_OK, NULL); lwsl_notice("calling lws_callback_on_writable()\n"); int ret = lws_callback_on_writable(wsi); lwsl_notice("calling lws_callback_on_writable() ret = %d\n", ret); return 0; }

lws-team commented 8 years ago

Can you try sending it something like 50-ish KB as I did?

mjmessina commented 8 years ago

sure, just did. Here is the ouput:

$ libwebsockets-test-server --port=7000 [2016/03/23 07:59:30:9743] NOTICE: libwebsockets test server - license LGPL2.1+SLE [2016/03/23 07:59:30:9743] NOTICE: (C) Copyright 2010-2016 Andy Green andy@warmcat.com Using resource path "D:/mikeProjects/vertext/ext/WebSocketInstall/share/libwebsockets-test-server" [2016/03/23 07:59:30:9743] NOTICE: Initial logging level 16777215 [2016/03/23 07:59:30:9743] NOTICE: Libwebsockets version: 1.7.0 mike_i7mike@Mike_i7-v1.7.0-162-gfe3f60d [2016/03/23 07:59:30:9900] NOTICE: IPV6 not compiled in [2016/03/23 07:59:30:9900] NOTICE: libev support not compiled in [2016/03/23 07:59:30:9900] NOTICE: libuv support not compiled in [2016/03/23 07:59:30:9900] NOTICE: Threads: 1 each 30000 fds [2016/03/23 07:59:31:0056] NOTICE: Creating Vhost 'default' port 7000, 5 protocols [2016/03/23 07:59:31:0056] NOTICE: Listening on port 7000 [2016/03/23 07:59:31:0056] NOTICE: mem: per-conn: 432 bytes + protocol rx buf [2016/03/23 07:59:31:0056] NOTICE: canonical_hostname = Mike_i7 [2016/03/23 07:59:46:1080] NOTICE: lws_http_serve: /MyPutCommand [2016/03/23 07:59:46:1110] NOTICE: HTTP connect from Mike_i7 (192.168.1.167) [2016/03/23 07:59:46:1110] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 1691 [2016/03/23 07:59:46:1140] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/23 07:59:46:1145] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/23 07:59:46:1180] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1180] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/23 07:59:46:1230] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1230] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/23 07:59:46:1271] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1271] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccddddddddddddddd... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeffffffffff... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: gaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: cddddddddddddddddddd... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeffffffffffffff... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbcc... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddddeee... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: eefffffffffffffffggg... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaabbb... len 4096 [2016/03/23 07:59:46:1281] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbcccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccddddddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeffffffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cddddddddddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeffffffffffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbcc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddddeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eefffffffffffffffggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaabbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbcccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccddddddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeffffffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: gaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cddddddddddddddddddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeffffffffffffff... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbcc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddddeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: eefffffffffffffffggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaabbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbcccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1437] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccddddddddddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeffffffffff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: gaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cddddddddddddddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeffffffffffffff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbcc... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddddeee... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eefffffffffffffffggg... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaabbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbcccccc... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddeeeeeee... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffggggggg... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccddddddddddddddd... len 4096 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeffffffffff... len 1157 [2016/03/23 07:59:46:1593] NOTICE: LWS_CALLBACK_HTTP_BODY_COMPLETION [2016/03/23 07:59:46:1593] NOTICE: calling lws_callback_on_writable() [2016/03/23 07:59:46:1593] NOTICE: calling lws_callback_on_writable() ret = 1

lws-team commented 8 years ago

Welp, we get different results with supposedly the same thing, unless something else we missed is different it might be related to the platform.

Can you put some logging around the things in the patch

https://github.com/warmcat/libwebsockets/commit/2f216280f879e35a6f9126d1b4e100d18ae36148

and try to get an idea what happens?

mjmessina commented 8 years ago

Sure. I'll try it now. If you want to try it using javascript modify header.c as stated in this gits. I have an html file you should beable to open in crome. Setup your IP (ex. 127.0.0.1:7681) in the text box and click the "RestPutTest" link.

https://gist.github.com/mjmessina/39fa1fd30324b94798cc2981c6c681aa

mjmessina commented 8 years ago

added logging around your changes - here is what i see, not much: Just the lines around 1423. Then nothing else.

$ libwebsockets-test-server --port=7000 [2016/03/23 08:29:02:0341] NOTICE: libwebsockets test server - license LGPL2.1+SLE [2016/03/23 08:29:02:0341] NOTICE: (C) Copyright 2010-2016 Andy Green andy@warmcat.com Using resource path "D:/mikeProjects/vertext/ext/WebSocketInstall/share/libwebsockets-test-server" [2016/03/23 08:29:02:0341] NOTICE: Initial logging level 16777215 [2016/03/23 08:29:02:0341] NOTICE: Libwebsockets version: 1.7.0 mike_i7mike@Mike_i7-v1.7.0-162-gfe3f60d [2016/03/23 08:29:02:0341] NOTICE: IPV6 not compiled in [2016/03/23 08:29:02:0341] NOTICE: libev support not compiled in [2016/03/23 08:29:02:0341] NOTICE: libuv support not compiled in [2016/03/23 08:29:02:0341] NOTICE: Threads: 1 each 30000 fds [2016/03/23 08:29:02:0341] NOTICE: Creating Vhost 'default' port 7000, 5 protocols [2016/03/23 08:29:02:0341] NOTICE: Listening on port 7000 [2016/03/23 08:29:02:0341] NOTICE: mem: per-conn: 432 bytes + protocol rx buf [2016/03/23 08:29:02:0341] NOTICE: canonical_hostname = Mike_i7 [2016/03/23 08:29:06:2197] NOTICE: 1423: favoured_pollin = 0 [2016/03/23 08:29:06:2197] NOTICE: lws_http_serve: /MyPut [2016/03/23 08:29:06:2222] NOTICE: HTTP connect from Mike_i7 (192.168.1.167) [2016/03/23 08:29:06:2222] NOTICE: LWS_CALLBACK_HTTP_BODY: 6505|6605|6705|6805|... len 52 [2016/03/23 08:29:06:2222] NOTICE: LWS_CALLBACK_HTTP_BODY_COMPLETION [2016/03/23 08:29:06:2222] NOTICE: calling lws_callback_on_writable() [2016/03/23 08:29:06:2222] NOTICE: calling lws_callback_on_writable() ret = 1

mjmessina commented 8 years ago

So I just tried it on Ubuntu. Same results. NOTE: I compiled without SSL and ZLIB and without extentions. Don't see how this would matter.

I am doing something different that you are.

lws-team commented 8 years ago

favoured_pollin won't get set until after the first BODY callback.

52 bytes won't buy you a WRITABLE callback here either.

AAre you sending it a bigger file than that on ubuntu?

mjmessina commented 8 years ago

Yes. I am having some issues with the VM. Disregard my statement.

There is still some issue on windows. I post a lot of data. In response I send data back until the lws_write returns < 0. I call calling lws_callback_on_writable() and NEVER get a notification.

Something is broken. On v1.7-stable it worked just fine.

lws-team commented 8 years ago

Well reviewing what happened so far and assuming it actually works the same on Ubuntu as it does here on Fedora, we started out with the same behaviour after the initial confusion.

The code I patched is common to both windows and Linux... what you're saying boils down to "the patch works on Linux but doesn't help for windows".

It's surprising because the code path I patched isn't platform-dependent... at any rate I don't have windows, you'll need to provide the logging for a larger input file (20KB should do it) that you provided 4 posts ago for the a 52-byte file.

mjmessina commented 8 years ago

Here you go. I think it that I am doing something different than you are doing. I could be doing something wrong.

$ ./libwebsockets-test-server --port=7000 [2016/03/24 18:49:48:2200] NOTICE: libwebsockets test server - license LGPL2.1+SLE [2016/03/24 18:49:48:2200] NOTICE: (C) Copyright 2010-2016 Andy Green andy@warmcat.com Using resource path "D:/mikeProjects/vertext/ext/WebSocketInstall/share/libwebsockets-test-server" [2016/03/24 18:49:48:2200] NOTICE: Initial logging level 16777215 [2016/03/24 18:49:48:2200] NOTICE: Libwebsockets version: 1.7.0 mike_i7mike@Mike_i7-v1.7.0-163-g2420887 [2016/03/24 18:49:48:2356] NOTICE: IPV6 not compiled in [2016/03/24 18:49:48:2356] NOTICE: libev support not compiled in [2016/03/24 18:49:48:2356] NOTICE: libuv support not compiled in [2016/03/24 18:49:48:2356] NOTICE: Threads: 1 each 30000 fds [2016/03/24 18:49:48:2512] NOTICE: Creating Vhost 'default' port 7000, 5 protocols [2016/03/24 18:49:48:2512] NOTICE: Listening on port 7000 [2016/03/24 18:49:48:2512] NOTICE: mem: per-conn: 432 bytes + protocol rx buf [2016/03/24 18:49:48:2512] NOTICE: canonical_hostname = Mike_i7 [2016/03/24 18:49:55:6121] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6121] NOTICE: lws_http_serve: /Rest_v1/Data [2016/03/24 18:49:55:6151] NOTICE: HTTP connect from Mike_i7 (192.168.1.167) [2016/03/24 18:49:55:6151] NOTICE: POST receieved. [2016/03/24 18:49:55:6151] NOTICE: POST /Rest_v1/Data [2016/03/24 18:49:55:6161] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 1691 [2016/03/24 18:49:55:6161] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6171] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaabbbbbbb... len 4096 [2016/03/24 18:49:55:6171] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6181] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6191] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbcccccccccc... len 4096 [2016/03/24 18:49:55:6196] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6196] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6206] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6206] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6216] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6216] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffggggggggggg... len 4096 [2016/03/24 18:49:55:6226] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6226] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6236] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaabbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6241] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6251] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6251] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbcccccccccccccc... len 4096 [2016/03/24 18:49:55:6261] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6261] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6271] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6271] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6281] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6281] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffggggggggggggaaa... len 4096 [2016/03/24 18:49:55:6291] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6291] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6301] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaabbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6301] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6311] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6311] NOTICE: LWS_CALLBACK_HTTP_BODY: bbcccccccccccccccddd... len 4096 [2016/03/24 18:49:55:6321] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6321] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6331] NOTICE: LWS_CALLBACK_HTTP_BODY: deeeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6331] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6341] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6341] NOTICE: LWS_CALLBACK_HTTP_BODY: fggggggggggggaaaaaaa... len 4096 [2016/03/24 18:49:55:6351] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6351] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6361] NOTICE: LWS_CALLBACK_HTTP_BODY: abbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6361] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6371] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6371] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccddddddd... len 4096 [2016/03/24 18:49:55:6381] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6381] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6391] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeff... len 4096 [2016/03/24 18:49:55:6391] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccddddddddddd... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeffffff... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: ccccccdddddddddddddd... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeefffffffff... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: ggaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6401] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6401] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: ccdddddddddddddddddd... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeefffffffffffff... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbc... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddddddddddee... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: eeefffffffffffffffgg... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaabb... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbccccc... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddddddeeeeee... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6557] NOTICE: LWS_CALLBACK_HTTP_BODY: ffffffffffffffgggggg... len 4096 [2016/03/24 18:49:55:6557] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaabbbbbb... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbccccccccc... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: ffffffffffgggggggggg... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaabbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbccccccccccccc... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: ffffffggggggggggggaa... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaabbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbcccccccccccccccdd... len 4096 [2016/03/24 18:49:55:6714] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6714] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ddeeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ffggggggggggggaaaaaa... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: aabbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ccccccccccccccdddddd... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeef... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ggggggggggaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ccccccccccdddddddddd... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeefffff... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: LWS_CALLBACK_HTTP_BODY: ggggggaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:6870] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:6870] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: ccccccdddddddddddddd... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeefffffffff... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: ggaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: ccdddddddddddddddddd... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeefffffffffffff... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddddddddddde... len 4096 [2016/03/24 18:49:55:7026] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7026] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeefffffffffffffffg... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaab... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbcccc... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddeeeee... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffffggggg... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaabbbbb... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbcccccccc... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddeeeeeeeee... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffggggggggg... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaabbbbbbbbb... len 4096 [2016/03/24 18:49:55:7183] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7183] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7339] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbcccccccccccc... len 4096 [2016/03/24 18:49:55:7339] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7349] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7349] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffgggggggggggga... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaabbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbcccccccccccccccd... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: dddeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: fffggggggggggggaaaaa... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: aaabbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccccddddd... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggggaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7354] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7354] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccddddddddd... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeffff... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccddddddddddddd... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeffffffff... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: gggaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: cccddddddddddddddddd... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7510] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeffffffffffff... len 4096 [2016/03/24 18:49:55:7510] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddddddddddde... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeefffffffffffffffg... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaab... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbcccc... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddeeeee... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffffggggg... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaabbbbb... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbcccccccc... len 4096 [2016/03/24 18:49:55:7666] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7666] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddeeeeeeeee... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffggggggggg... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaabbbbbbbbb... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbcccccccccccc... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffgggggggggggga... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaabbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbcccccccccccccccd... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: dddeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: LWS_CALLBACK_HTTP_BODY: fffggggggggggggaaaaa... len 4096 [2016/03/24 18:49:55:7823] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7823] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: aaabbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccccddddd... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggggaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccddddddddd... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeffff... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccddddddddddddd... len 4096 [2016/03/24 18:49:55:7979] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:7979] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeffffffff... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: gggaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: cccddddddddddddddddd... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeffffffffffff... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: ddddddddddddddddddde... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeefffffffffffffffg... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaaaaaab... len 4096 [2016/03/24 18:49:55:8135] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8135] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8291] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbcccc... len 4096 [2016/03/24 18:49:55:8296] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8301] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8306] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddddddeeeee... len 4096 [2016/03/24 18:49:55:8311] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8316] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8321] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffffffggggg... len 4096 [2016/03/24 18:49:55:8326] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8332] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8337] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaaaaaabbbbb... len 4096 [2016/03/24 18:49:55:8342] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8347] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8352] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbcccccccc... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddddddeeeeeeeee... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffffffggggggggg... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaaaaaabbbbbbbbb... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbcccccccccccc... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: dddddddeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: fffffffgggggggggggga... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: aaaaaaabbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbcccccccccccccccd... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: dddeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:8357] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8357] NOTICE: LWS_CALLBACK_HTTP_BODY: fffggggggggggggaaaaa... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: aaabbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccccccddddd... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeeeee... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggggggaaaaaaaaa... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccddddddddd... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeffff... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggaaaaaaaaaaaaa... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8513] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccddddddddddddd... len 4096 [2016/03/24 18:49:55:8513] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8669] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 18:49:55:8669] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeffffffff... len 1159 [2016/03/24 18:49:55:8669] NOTICE: LWS_CALLBACK_HTTP_BODY_COMPLETION [2016/03/24 18:49:55:8669] NOTICE: calling lws_callback_on_writable() [2016/03/24 18:49:55:8669] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 18:49:55:8669] NOTICE: 1521: wsi->favoured_pollin=0

lws-team commented 8 years ago

You're only calling for writeable callback on BODY_COMPLETION? ^^

lws-team commented 8 years ago

...ie, you want to call than in LWS_CALLBACK_HTTP_BODY, right?

mjmessina commented 8 years ago

In this example, yes. On the body completion. Are you saying I should call it every time I receive something?

The original intent was to schedule a write back to the client once I received the request.

mjmessina commented 8 years ago

Ok. Now I see why you think it works. I called it after the LWS_CALLBACK_HTTP_BODY & LWS_CALLBACK_HTTP_BODY_COMPLETION.

Works fine on LWS_CALLBACK_HTTP_BODY. but not LWS_CALLBACK_HTTP_BODY_COMPLETION.

Here is the last part of the logs: [2016/03/24 19:31:32:7717] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7717] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7717] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 19:31:32:7717] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7717] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7717] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7717] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7717] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccccccddddddddd... len 4096 [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7874] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7874] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeeeeeffff... len 4096 [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7874] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7874] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: LWS_CALLBACK_HTTP_BODY: gggggggaaaaaaaaaaaaa... len 4096 [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7874] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7874] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: LWS_CALLBACK_HTTP_BODY: bbbbbbbbbbbbbbbbbbbb... len 4096 [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7874] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7874] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: LWS_CALLBACK_HTTP_BODY: cccccccddddddddddddd... len 4096 [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:7874] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:7874] NOTICE: 1521: wsi->favoured_pollin=0 [2016/03/24 19:31:32:7874] NOTICE: YES --- LWS_CALLBACK_HTTP_WRITEABLE [2016/03/24 19:31:32:7874] NOTICE: 1423: wsi->favoured_pollin=0 [2016/03/24 19:31:32:8030] NOTICE: LWS_CALLBACK_HTTP_BODY: eeeeeeeeeeeeffffffff... len 1159 [2016/03/24 19:31:32:8030] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:8030] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:8030] NOTICE: LWS_CALLBACK_HTTP_BODY_COMPLETION [2016/03/24 19:31:32:8030] NOTICE: calling lws_callback_on_writable() [2016/03/24 19:31:32:8030] NOTICE: calling lws_callback_on_writable() ret = 1 [2016/03/24 19:31:32:8030] NOTICE: 1521: wsi->favoured_pollin=0

lws-team commented 8 years ago

Okay.. but there's no mystery then about what we're "doing different"... I set the diffs and logs showing it in HTTP_BODY so we could be sure we did the same. In that case we don't have to stress out about Linux vs windows.

When the BODY_COMPLETION callback is sent, the flow is like this

...
            {
                n = wsi->protocol->callback(wsi,
                    LWS_CALLBACK_HTTP_BODY_COMPLETION,
                    wsi->user_space, NULL, 0);
                if (n)
                    goto bail;
            }

            goto http_complete;
        }
        break;
...
http_complete:
...
    if (lws_http_transaction_completed(wsi))
...

ie he's done with the connection at that point.

What are you planning to do in the writeable callback, write on this connection or a different one?

lws-team commented 8 years ago

...to clarify, he's "done with the http transaction at that point". For HTTP/1.0 or an explicit close header HTTP/1.1 transaction, that means "done with the connection", the wsi socket will close and the wsi deleted, the peer may have closed already.

For HTTP/1.1 default keepalive, it means the connection is allowed to be recycled for a new HTTP transaction or remain idle for 60s before lws will close it.

mjmessina commented 8 years ago

Using (abusing) the POST as a way to pass a large number of parameters to our rest server. One I receive them, I want to respond back with the data. So I need to schedule a write. The connection is not over yet.

Is this the wrong thing to do? Seems to work fine on the v1.7-stable branch. Or am I just lucky?

lws-team commented 8 years ago

Comparing the same code on v1.7-stable he's modified to deal with CGI, but the flow is the same, once he has passed up all the POST body content, he calls HTTP_BODY_COMPLETION and goes to http_complete.

Googling around it seems the only right response to POST is a 201 / redirect without a meaningful body

http://stackoverflow.com/questions/420103/what-is-the-correct-response-to-an-http-post-request

ie the response should cause the client to do a new GET to get the actual result.

I think I need to add a generic form / POST to the test server and make sure that acts reasonably.

lws-team commented 8 years ago

(201 seems to not be useful in real browsers, they recommend a 303 redirect further down that SO thread... in any event they're in agreement you need a new http transaction).

mjmessina commented 8 years ago

Thanks. Looks like I need to rethink what I was doing.

lws-team commented 8 years ago

I'll provide an example for POST with the 303 redirect in the test server later today.

I think you just need to follow that and send what you're sending at the redirect URL.

ghost commented 8 years ago

+1 for considering method post and get request. I was wondering that also this library could also add some enum state "by which method client get connected ?". so we could do more clearer towards our next task.

lws-team commented 8 years ago

You can discriminate between the http methods already, the test server does it.

There are a bunch of possible method enums

        WSI_TOKEN_GET_URI,
        WSI_TOKEN_POST_URI,
        WSI_TOKEN_OPTIONS_URI,
        WSI_TOKEN_PUT_URI,
        WSI_TOKEN_PATCH_URI,
        WSI_TOKEN_DELETE_URI,

You can very cheaply test for which method was used like this

        if (lws_hdr_total_length(wsi, WSI_TOKEN_POST_URI))
...
lws-team commented 8 years ago

I added a POST tab to the test-server, you can send a string from a form.

The test server eats the POST data, then responds with a 303 redirect.

The redirect page shows the string from the form data in the HTML.

I'll close this issue, if there's something else please reopen or make a new issue.