package eu.kielczewski.akanke.web.config; import org.apache.coyote.http11.AbstractHttp11Protocol; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; @Configuration public class TomcatConfig { @Bean public EmbeddedServletContainerCustomizer servletContainerCustomizer() { return servletContainer -> ((TomcatEmbeddedServletContainerFactory) servletContainer).addConnectorCustomizers( connector -> { AbstractHttp11Protocol httpProtocol = (AbstractHttp11Protocol) connector.getProtocolHandler(); httpProtocol.setCompression("on"); httpProtocol.setCompressionMinSize(256); String mimeTypes = httpProtocol.getCompressableMimeTypes(); mimeTypes += "," + MediaType.APPLICATION_JSON_VALUE; mimeTypes += "," + "text/css"; mimeTypes += "," + "application/javascript"; httpProtocol.setCompressableMimeTypes(mimeTypes); } ); } }