Skip to content

Align Jetty's compression of non-GET requests with Tomcat and Undertow #8184

Closed
@CharlesLenk

Description

@CharlesLenk

The following was tested with SpringBoot 1.4.4.RELEASE and Jetty 9.3.16.

When enabling server compression through yaml configuration as described in the documentation, I found that response bodies for my POST requests weren't being compressed even when specifying "gzip" in the Accept-Encoding header.

Through debugging, I found that Jetty's GzipHandler.class supports including/excluding HTTP methods for gzip. By default, the GET verb is included when constructing a GzipHandler, but other methods are not.

I confirmed the issue by enabling an endpoint for both the POST and GET verbs, and sending an identical request using each verb. When using the GET verb, the response is compressed. When using POST, the response is not compressed and GzipHandler logs a debug message indicating that the request was excluded based on the HTTP method.

It appears there's not a way to configure the HTTP methods for GzipHandler through the SpringBoot yaml configuration. Is this an oversight?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions