user code must explicitly complete http transaction
authorAndy Green <andy.green@linaro.org>
Wed, 24 Feb 2016 12:58:19 +0000 (20:58 +0800)
committerAndy Green <andy.green@linaro.org>
Thu, 25 Feb 2016 01:45:17 +0000 (09:45 +0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
changelog
lib/handshake.c

index db66e9d..006cc20 100644 (file)
--- a/changelog
+++ b/changelog
@@ -17,6 +17,17 @@ known to affect anything until after it was fixed
 requests callback on writeable for the socket it will busywait until the
 socket closes
 
 requests callback on writeable for the socket it will busywait until the
 socket closes
 
+5) MAJOR Although the test server has done it for a few versions already, it
+is now required for the user code to explicitly call
+
+       if (lws_http_transaction_completed(wsi))
+               return -1;
+
+when it finishes replying to a transaction in http.  Previously the library
+did it for you, but that disallowed large, long transfers with multiple
+trips around the event loop (and cgi...).
+
+
 Changes
 -------
 
 Changes
 -------
 
index 9bae6e4..e48af84 100644 (file)
@@ -130,7 +130,7 @@ lws_read(struct lws *wsi, unsigned char *buf, size_t len)
                switch (wsi->state) {
                        case LWSS_HTTP:
                        case LWSS_HTTP_HEADERS:
                switch (wsi->state) {
                        case LWSS_HTTP:
                        case LWSS_HTTP_HEADERS:
-                               goto http_complete;
+                               goto read_ok;
                        case LWSS_HTTP_ISSUING_FILE:
                                goto read_ok;
                        case LWSS_HTTP_BODY:
                        case LWSS_HTTP_ISSUING_FILE:
                                goto read_ok;
                        case LWSS_HTTP_BODY: