From 43bc05285d4bf3a88ed24f5310672881dbd752a3 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Wed, 3 Sep 2014 18:49:41 +0100
Subject: net.http.parser: Support status code 101 and allow handling of the
 received data by someone else

---
 net/http/parser.lua | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/net/http/parser.lua b/net/http/parser.lua
index f9e6cea0..d896dff4 100644
--- a/net/http/parser.lua
+++ b/net/http/parser.lua
@@ -140,7 +140,11 @@ function httpstream.new(success_cb, error_cb, parser_type, options_cb)
 								break;
 							end
 						elseif len and #buf >= len then
-							packet.body, buf = buf:sub(1, len), buf:sub(len + 1);
+                                                       if packet.code == 101 then
+                                                               packet.body, buf = buf, ""
+                                                       else
+                                                               packet.body, buf = buf:sub(1, len), buf:sub(len + 1);
+                                                       end
 							state = nil; success_cb(packet);
 						else
 							break;
-- 
cgit v1.2.3