THRIFT-5185: Support for using WebSockets as a server transport

Client: cpp
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index 49ec222..5b78803 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -21,6 +21,42 @@
   "cl-rs_multi-binary_framed-ip",
   "cl-rs_multi_buffered-ip",
   "cl-rs_multi_framed-ip",
+  "cpp-cpp_binary_websocket-domain",
+  "cpp-cpp_binary_websocket-ip",
+  "cpp-cpp_binary_websocket-ip-ssl",
+  "cpp-cpp_compact_websocket-domain",
+  "cpp-cpp_compact_websocket-ip",
+  "cpp-cpp_compact_websocket-ip-ssl",
+  "cpp-cpp_header_websocket-domain",
+  "cpp-cpp_header_websocket-ip",
+  "cpp-cpp_header_websocket-ip-ssl",
+  "cpp-cpp_json_websocket-domain",
+  "cpp-cpp_json_websocket-ip",
+  "cpp-cpp_json_websocket-ip-ssl",
+  "cpp-cpp_multi-binary_websocket-domain",
+  "cpp-cpp_multi-binary_websocket-ip",
+  "cpp-cpp_multi-binary_websocket-ip-ssl",
+  "cpp-cpp_multi_websocket-domain",
+  "cpp-cpp_multi_websocket-ip",
+  "cpp-cpp_multi_websocket-ip-ssl",
+  "cpp-cpp_multic-compact_websocket-domain",
+  "cpp-cpp_multic-compact_websocket-ip",
+  "cpp-cpp_multic-compact_websocket-ip-ssl",
+  "cpp-cpp_multic_websocket-domain",
+  "cpp-cpp_multic_websocket-ip",
+  "cpp-cpp_multic_websocket-ip-ssl",
+  "cpp-cpp_multih-header_websocket-domain",
+  "cpp-cpp_multih-header_websocket-ip",
+  "cpp-cpp_multih-header_websocket-ip-ssl",
+  "cpp-cpp_multih_websocket-domain",
+  "cpp-cpp_multih_websocket-ip",
+  "cpp-cpp_multih_websocket-ip-ssl",
+  "cpp-cpp_multij-json_websocket-domain",
+  "cpp-cpp_multij-json_websocket-ip",
+  "cpp-cpp_multij-json_websocket-ip-ssl",
+  "cpp-cpp_multij_websocket-domain",
+  "cpp-cpp_multij_websocket-ip",
+  "cpp-cpp_multij_websocket-ip-ssl",
   "cpp-dart_binary_http-ip",
   "cpp-dart_compact_http-ip",
   "cpp-dart_json_http-ip",
@@ -72,27 +108,39 @@
   "cpp-nodejs_binary_http-domain",
   "cpp-nodejs_binary_http-ip",
   "cpp-nodejs_binary_http-ip-ssl",
+  "cpp-nodejs_binary_websocket-domain",
   "cpp-nodejs_compact_http-domain",
   "cpp-nodejs_compact_http-ip",
   "cpp-nodejs_compact_http-ip-ssl",
+  "cpp-nodejs_compact_websocket-domain",
   "cpp-nodejs_header_http-domain",
   "cpp-nodejs_header_http-ip",
   "cpp-nodejs_header_http-ip-ssl",
+  "cpp-nodejs_header_websocket-domain",
+  "cpp-nodejs_header_websocket-ip",
+  "cpp-nodejs_header_websocket-ip-ssl",
   "cpp-nodejs_json_http-domain",
   "cpp-nodejs_json_http-ip",
   "cpp-nodejs_json_http-ip-ssl",
+  "cpp-nodejs_json_websocket-domain",
   "cpp-nodejs_multi-binary_http-domain",
   "cpp-nodejs_multi-binary_http-ip",
   "cpp-nodejs_multi-binary_http-ip-ssl",
+  "cpp-nodejs_multi-binary_websocket-domain",
   "cpp-nodejs_multic-compact_http-domain",
   "cpp-nodejs_multic-compact_http-ip",
   "cpp-nodejs_multic-compact_http-ip-ssl",
+  "cpp-nodejs_multic-compact_websocket-domain",
   "cpp-nodejs_multih-header_http-domain",
   "cpp-nodejs_multih-header_http-ip",
   "cpp-nodejs_multih-header_http-ip-ssl",
+  "cpp-nodejs_multih-header_websocket-domain",
+  "cpp-nodejs_multih-header_websocket-ip",
+  "cpp-nodejs_multih-header_websocket-ip-ssl",
   "cpp-nodejs_multij-json_http-domain",
   "cpp-nodejs_multij-json_http-ip",
   "cpp-nodejs_multij-json_http-ip-ssl",
+  "cpp-nodejs_multij-json_websocket-domain",
   "cpp-php_binary-accel_buffered-ip",
   "cpp-php_binary-accel_framed-ip",
   "cpp-php_json_buffered-ip",
@@ -500,16 +548,28 @@
   "nodejs-cpp_binary_http-domain",
   "nodejs-cpp_binary_http-ip",
   "nodejs-cpp_binary_http-ip-ssl",
+  "nodejs-cpp_binary_websocket-domain",
+  "nodejs-cpp_binary_websocket-ip",
+  "nodejs-cpp_binary_websocket-ip-ssl",
   "nodejs-cpp_compact_http-domain",
   "nodejs-cpp_compact_http-ip",
   "nodejs-cpp_compact_http-ip-ssl",
+  "nodejs-cpp_compact_websocket-domain",
+  "nodejs-cpp_compact_websocket-ip",
+  "nodejs-cpp_compact_websocket-ip-ssl",
   "nodejs-cpp_header_http-domain",
   "nodejs-cpp_header_http-ip",
   "nodejs-cpp_header_http-ip-ssl",
+  "nodejs-cpp_header_websocket-domain",
+  "nodejs-cpp_header_websocket-ip",
+  "nodejs-cpp_header_websocket-ip-ssl",
   "nodejs-cpp_json_buffered-ip-ssl",
   "nodejs-cpp_json_http-domain",
   "nodejs-cpp_json_http-ip",
   "nodejs-cpp_json_http-ip-ssl",
+  "nodejs-cpp_json_websocket-domain",
+  "nodejs-cpp_json_websocket-ip",
+  "nodejs-cpp_json_websocket-ip-ssl",
   "nodejs-d_binary_http-ip",
   "nodejs-d_binary_http-ip-ssl",
   "nodejs-d_compact_http-ip",
@@ -549,6 +609,10 @@
   "nodejs-netstd_json_buffered-ip-ssl",
   "nodejs-netstd_json_framed-ip",
   "nodejs-netstd_json_framed-ip-ssl",
+  "nodejs-nodejs_binary_websocket-domain",
+  "nodejs-nodejs_compact_websocket-domain",
+  "nodejs-nodejs_header_websocket-domain",
+  "nodejs-nodejs_json_websocket-domain",
   "nodejs-php_binary-accel_buffered-ip",
   "nodejs-php_binary-accel_framed-ip",
   "nodejs-php_json_buffered-ip",