libhv icon indicating copy to clipboard operation
libhv copied to clipboard

HttpResponseWriterPtr无法响应http2请求

Open oioitff opened this issue 2 years ago • 2 comments

测试代码如下:

int main() {
    hv::HttpService router;
    router.GET("/", [](const HttpRequestPtr& req, const HttpResponseWriterPtr& writer) {
        writer->Begin();
        writer->WriteStatus(HTTP_STATUS_OK);
        writer->WriteHeader("Content-Type", "text/html");
        writer->WriteBody("hello world");
        writer->End();
    });

    hssl_ctx_init_param_t param;
    memset(&param, 0, sizeof(param));
    param.crt_file = "cert.crt";
    param.key_file = "key.pem";
    param.endpoint = HSSL_SERVER;
    if (hssl_ctx_init(&param) == NULL) {
        printf("hssl_ctx_init failed!\n");
        return -1;
    }

    hv::HttpServer server;
    server.registerHttpService(&router);
    server.setPort(0, 443);
    server.run();
    return 0;
}

用同步http_sync_handler是可以正常响应http2请求的,但是无论是用http_async_handler还是http_ctx_handler,都无法正常响应http2请求

oioitff avatar Dec 04 '22 16:12 oioitff

HttpResponseWriter确实没考虑http2协议,所以目前不支持http2的异步响应。

ithewei avatar Dec 05 '22 04:12 ithewei

您好,请教一下,有libhv使用http2 server的使用example吗? 回调时是否支持不同的steam_id?

cxyxiaoli avatar Aug 24 '23 13:08 cxyxiaoli