http post zero content length
authorAndy Green <andy.green@linaro.org>
Fri, 20 Nov 2015 11:31:57 +0000 (19:31 +0800)
committerAndy Green <andy.green@linaro.org>
Fri, 20 Nov 2015 11:31:57 +0000 (19:31 +0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
lib/handshake.c

index df898c6..07afb6b 100644 (file)
@@ -125,6 +125,19 @@ http_new:
                                goto read_ok;
                        case WSI_STATE_HTTP_BODY:
                                wsi->u.http.content_remain = wsi->u.http.content_length;
+                               if (!wsi->u.http.content_remain) {
+                                       /* there is no POST content */
+                                       libwebsocket_set_timeout(wsi, NO_PENDING_TIMEOUT, 0);
+                                       if (wsi->protocol->callback) {
+                                               n = wsi->protocol->callback(
+                                                       wsi->protocol->owning_server, wsi,
+                                                       LWS_CALLBACK_HTTP_BODY_COMPLETION,
+                                                       wsi->user_space, NULL, 0);
+                                               if (n)
+                                                       goto bail;
+                                       }
+                                       goto http_complete;
+                               }
                                goto http_postbody;
                        default:
                                break;