【问题标题】:Sending compressed responses in vert.x在 vert.x 中发送压缩响应
【发布时间】:2013-12-02 06:27:09
【问题描述】:

我有一个 RESTful 服务器,可以将大块 JSON 发送回客户端。我在 Grails 中实现了服务器,为了进行一些基准测试,我在 vert.x 中重写了它。

一切正常,除了 gzip 压缩,我还没有找到在 vert.x 中激活它的方法 我在 vert.x 网站、here 和 Google 中搜索了答案,但找不到任何信息,所以我尝试通过在此处发布来获得答案:)

在 vert.x 上是否有 gzip 响应?

提前致谢!

【问题讨论】:

    标签: vert.x


    【解决方案1】:

    我想我已经找到了自己问题的答案...

    在 vert.x 2.1M1 中,他们为 HttpServerDefaultHttpServer 添加了 HTTP 压缩。要激活它,您必须使用方法setCompressionSupported(true)

    它似乎对我不起作用,即使我使用的是 vert.x 2.1M1。那是因为我用的是Groovy,而vert.x mod-lang-groovy从2.0.0版本开始就没有更新过。

    所以 Java vert.x 库允许压缩,但包装 Java 库的 Groovy 库不允许。 setCompressionSupported(true) 方法给了我一个 NotSuchMethod 异常。

    我找到了解决方法。我使用toJavaServer() 方法来恢复Groovy 中的Java HttpServer,并在这个Java HttpServer 上调用setCompressionSupported(true)

    现在我的 Groovy verticles 中有 HTTP 压缩 :)

    【讨论】:

      【解决方案2】:

      VertX 3.x 中的压缩支持稍作修改。

      现在可以通过(Java 示例)打开它:

      HttpServerOptions serverOptions = new HttpServerOptions();
      serverOptions.setCompressionSupported(true);
      HttpServer server = vertx.createHttpServer(serverOptions);
      

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 1970-01-01
        • 2020-02-25
        • 2010-12-13
        • 2011-04-26
        • 2022-01-01
        • 2020-06-11
        • 2018-06-26
        • 1970-01-01
        相关资源
        最近更新 更多