mirror of
https://github.com/MewoLab/AquaDX.git
synced 2026-02-10 06:18:56 +08:00
[DIVA] Enable response compression
This commit is contained in:
@@ -16,7 +16,7 @@ public class ChuniResponseWrapper extends HttpServletResponseWrapper {
|
|||||||
private ServletOutputStream filterOutput;
|
private ServletOutputStream filterOutput;
|
||||||
|
|
||||||
|
|
||||||
ChuniResponseWrapper(HttpServletResponse response) {
|
public ChuniResponseWrapper(HttpServletResponse response) {
|
||||||
super(response);
|
super(response);
|
||||||
output = new ByteArrayOutputStream();
|
output = new ByteArrayOutputStream();
|
||||||
}
|
}
|
||||||
@@ -44,7 +44,7 @@ public class ChuniResponseWrapper extends HttpServletResponseWrapper {
|
|||||||
return filterOutput;
|
return filterOutput;
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] toByteArray() {
|
public byte[] toByteArray() {
|
||||||
return output.toByteArray();
|
return output.toByteArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class GetGameSettingHandler implements BaseHandler {
|
|||||||
GetGameSettingResp resp = new GetGameSettingResp(
|
GetGameSettingResp resp = new GetGameSettingResp(
|
||||||
gameSetting,
|
gameSetting,
|
||||||
false,
|
false,
|
||||||
false
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
String json = mapper.write(resp);
|
String json = mapper.write(resp);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package icu.samnyan.aqua.sega.diva.filter;
|
package icu.samnyan.aqua.sega.diva.filter;
|
||||||
|
|
||||||
import icu.samnyan.aqua.sega.chunithm.filter.ChuniRequestWrapper;
|
import icu.samnyan.aqua.sega.chunithm.filter.ChuniRequestWrapper;
|
||||||
|
import icu.samnyan.aqua.sega.chunithm.filter.ChuniResponseWrapper;
|
||||||
import icu.samnyan.aqua.sega.util.Compression;
|
import icu.samnyan.aqua.sega.util.Compression;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -37,9 +38,17 @@ public class DivaCompressionFilter extends OncePerRequestFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ChuniRequestWrapper requestWrapper = new ChuniRequestWrapper(request, reqResult);
|
ChuniRequestWrapper requestWrapper = new ChuniRequestWrapper(request, reqResult);
|
||||||
|
ChuniResponseWrapper responseWrapper = new ChuniResponseWrapper(response);
|
||||||
|
|
||||||
filterChain.doFilter(requestWrapper, response);
|
filterChain.doFilter(requestWrapper, responseWrapper);
|
||||||
|
byte[] respSrc = responseWrapper.toByteArray();
|
||||||
|
byte[] respResult = Compression.compress(respSrc);
|
||||||
|
|
||||||
|
|
||||||
|
response.setContentLength(respResult.length);
|
||||||
|
response.setHeader("pragma", "DFI");
|
||||||
|
|
||||||
|
response.getOutputStream().write(respResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user