[ https://issues.apache.org/jira/browse/FINERACT-426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Vorburger reopened FINERACT-426: ---------------------------------------- > Filter to optionally compress response with gzip > ------------------------------------------------ > > Key: FINERACT-426 > URL: https://issues.apache.org/jira/browse/FINERACT-426 > Project: Apache Fineract > Issue Type: Improvement > Reporter: Avik Ganguly > Assignee: Avik Ganguly > Priority: Minor > Labels: easyfix, gsoc, newbie, p2, performance > Fix For: 1.3.0 > > > Accept a query parameter like isCompressionRequired. If this query param is > present, compress the response using gzip. This will ensure less bandwidth > usage if field apps are using mobile data. > Sample Code for response filter :- > Inside filter method :- > if > (request.getRequestHeaders().getFirst(HttpHeaders.ACCEPT_ENCODING).contains("gzip")) > { > > response.getHttpHeaders().add(HttpHeaders.CONTENT_ENCODING, "gzip"); > response.setContainerResponseWriter( > new > Adapter(response.getContainerResponseWriter())); > } > private static final class Adapter implements ContainerResponseWriter { > private final ContainerResponseWriter crw; > private GZIPOutputStream gos; > Adapter(ContainerResponseWriter crw) { > this.crw = crw; > } > > public OutputStream writeStatusAndHeaders(long contentLength, > ContainerResponse response) throws IOException { > gos = new GZIPOutputStream(crw.writeStatusAndHeaders(-1, > response)); > return gos; > } > public void finish() throws IOException { > gos.finish(); > crw.finish(); > } > } > -- This message was sent by Atlassian Jira (v8.3.4#803005)