You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/04/07 11:59:00 UTC
[jira] [Commented] (FINERACT-426) Filter to optionally compress
response with gzip
[ https://issues.apache.org/jira/browse/FINERACT-426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16429324#comment-16429324 ]
ASF GitHub Bot commented on FINERACT-426:
-----------------------------------------
GitHub user wkk91193 opened a pull request:
https://github.com/apache/fineract/pull/450
Adding a compress response filter,registering filter
Adding a filter to support response compression. This will ensure less bandwidth usage for field officer apps
Related Jira issue [FINERACT-426](https://issues.apache.org/jira/browse/FINERACT-426?jql=reporter%20in%20(avikganguly%2C%20avikganguly010))
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/wkk91193/incubator-fineract fineract-426-filter-to-optionally-compress-response-with-gzip
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/fineract/pull/450.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #450
----
commit c0042e393fa3f41608b6c9da189f685499a0a926
Author: unknown <wk...@...>
Date: 2018-04-07T11:52:11Z
Adding a compress response filter,registering filter
----
> 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: Markus Geiss
> Priority: Minor
> Labels: easyfix, gsoc, newbie, p2, performance
>
> 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
(v7.6.3#76005)