ithewei 6 år sedan
förälder
incheckning
7b99ee1584
2 ändrade filer med 5 tillägg och 2 borttagningar
  1. 5 0
      http/HttpSession.cpp
  2. 0 2
      http/server/HttpServer.cpp

+ 5 - 0
http/HttpSession.cpp

@@ -413,6 +413,11 @@ public:
         if (res->ContentLength() == 0) {
             flags |= NGHTTP2_FLAG_END_STREAM;
         }
+        if (stream_id == -1) {
+            // upgrade
+            nghttp2_session_upgrade(session, NULL, 0, NULL);
+            stream_id = 1;
+        }
         nghttp2_submit_headers(session, flags, stream_id, NULL, &nvs[0], nvs.size(), NULL);
         // avoid DATA_SOURCE_COPY, we do not use nghttp2_submit_data
         // data_prd.read_callback = data_source_read_callback;

+ 0 - 2
http/server/HttpServer.cpp

@@ -89,7 +89,6 @@ static void on_recv(hio_t* io, void* _buf, int readbytes) {
     }
 
     // Upgrade: h2
-    /*
     auto iter_upgrade = req->headers.find("upgrade");
     if (iter_upgrade != req->headers.end()) {
         hlogi("[%s:%d] Upgrade: %s", handler->ip, handler->port, iter_upgrade->second.c_str());
@@ -116,7 +115,6 @@ static void on_recv(hio_t* io, void* _buf, int readbytes) {
             return;
         }
     }
-    */
 
     int ret = handler->HandleRequest();
     // prepare headers body