From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java | 220 +++++++++++++++++++++++++++---------------------------
1 files changed, 110 insertions(+), 110 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java
index ff328b7..2c79145 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java
@@ -1,110 +1,110 @@
-package com.zy.asrs.wms.common.security;
-
-import com.alibaba.fastjson.JSON;
-import com.zy.asrs.wms.utils.EncryptUtils;
-import com.zy.asrs.wms.utils.WebkitParseUtils;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import java.io.*;
-import java.util.HashMap;
-import java.util.Map;
-
-public class CachedBodyHttpServletRequest extends HttpServletRequestWrapper {
- private final byte[] cachedBody;
- private final Map<String, String[]> parameterMap;
-
- public CachedBodyHttpServletRequest(HttpServletRequest request) throws IOException {
- super(request);
- String requestMethod = request.getMethod();
- if ("GET".equalsIgnoreCase(requestMethod)) {
- Map<String, String[]> map = request.getParameterMap();
- String jsonString = JSON.toJSONString(map);
- this.cachedBody = jsonString.getBytes();
- this.parameterMap = map;
- }else {
- // 璇诲彇璇锋眰浣撳苟缂撳瓨
- InputStream inputStream = request.getInputStream();
- // 鏂规硶鏉ヨ鍙栨墍鏈夊瓧鑺�
- this.cachedBody = readBytesFromInputStream(inputStream);
-
- this.parameterMap = new HashMap<>();
- // 璇诲彇骞惰В鏋愯〃鍗曟暟鎹�
- parseRequestParameters();
- }
- }
-
- private byte[] readBytesFromInputStream(InputStream inputStream) throws IOException {
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int bytesRead;
- while ((bytesRead = inputStream.read(buffer)) != -1) {
- byteArrayOutputStream.write(buffer, 0, bytesRead);
- }
- return byteArrayOutputStream.toByteArray();
- }
-
- @Override
- public ServletInputStream getInputStream() {
- return new CachedBodyServletInputStream(cachedBody);
- }
-
- @Override
- public BufferedReader getReader() {
- return new BufferedReader(new InputStreamReader(getInputStream()));
- }
-
- @Override
- public String getParameter(String name) {
- String[] values = parameterMap.get(name);
- return (values != null && values.length > 0) ? values[0] : null;
- }
-
- @Override
- public Map<String, String[]> getParameterMap() {
- return parameterMap;
- }
-
- @Override
- public String[] getParameterValues(String name) {
- return parameterMap.get(name);
- }
-
- private static class CachedBodyServletInputStream extends ServletInputStream {
- private final ByteArrayInputStream inputStream;
-
- public CachedBodyServletInputStream(byte[] cachedBody) {
- this.inputStream = new ByteArrayInputStream(cachedBody);
- }
-
- @Override
- public boolean isFinished() {
- return inputStream.available() == 0;
- }
-
- @Override
- public boolean isReady() {
- return true;
- }
-
- @Override
- public void setReadListener(ReadListener listener) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int read() {
- return inputStream.read();
- }
- }
-
- private void parseRequestParameters() {
- String string = new String(cachedBody);
- HashMap<String, Object> formData = WebkitParseUtils.getFormData(string);
- for (Map.Entry<String, Object> entry : formData.entrySet()) {
- parameterMap.put(entry.getKey(), new String[]{entry.getValue().toString()});
- }
- }
-}
-
+package com.zy.asrs.wms.common.security;
+
+import com.alibaba.fastjson.JSON;
+import com.zy.asrs.wms.utils.EncryptUtils;
+import com.zy.asrs.wms.utils.WebkitParseUtils;
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.*;
+import java.util.HashMap;
+import java.util.Map;
+
+public class CachedBodyHttpServletRequest extends HttpServletRequestWrapper {
+ private final byte[] cachedBody;
+ private final Map<String, String[]> parameterMap;
+
+ public CachedBodyHttpServletRequest(HttpServletRequest request) throws IOException {
+ super(request);
+ String requestMethod = request.getMethod();
+ if ("GET".equalsIgnoreCase(requestMethod)) {
+ Map<String, String[]> map = request.getParameterMap();
+ String jsonString = JSON.toJSONString(map);
+ this.cachedBody = jsonString.getBytes();
+ this.parameterMap = map;
+ }else {
+ // 璇诲彇璇锋眰浣撳苟缂撳瓨
+ InputStream inputStream = request.getInputStream();
+ // 鏂规硶鏉ヨ鍙栨墍鏈夊瓧鑺�
+ this.cachedBody = readBytesFromInputStream(inputStream);
+
+ this.parameterMap = new HashMap<>();
+ // 璇诲彇骞惰В鏋愯〃鍗曟暟鎹�
+ parseRequestParameters();
+ }
+ }
+
+ private byte[] readBytesFromInputStream(InputStream inputStream) throws IOException {
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ byteArrayOutputStream.write(buffer, 0, bytesRead);
+ }
+ return byteArrayOutputStream.toByteArray();
+ }
+
+ @Override
+ public ServletInputStream getInputStream() {
+ return new CachedBodyServletInputStream(cachedBody);
+ }
+
+ @Override
+ public BufferedReader getReader() {
+ return new BufferedReader(new InputStreamReader(getInputStream()));
+ }
+
+ @Override
+ public String getParameter(String name) {
+ String[] values = parameterMap.get(name);
+ return (values != null && values.length > 0) ? values[0] : null;
+ }
+
+ @Override
+ public Map<String, String[]> getParameterMap() {
+ return parameterMap;
+ }
+
+ @Override
+ public String[] getParameterValues(String name) {
+ return parameterMap.get(name);
+ }
+
+ private static class CachedBodyServletInputStream extends ServletInputStream {
+ private final ByteArrayInputStream inputStream;
+
+ public CachedBodyServletInputStream(byte[] cachedBody) {
+ this.inputStream = new ByteArrayInputStream(cachedBody);
+ }
+
+ @Override
+ public boolean isFinished() {
+ return inputStream.available() == 0;
+ }
+
+ @Override
+ public boolean isReady() {
+ return true;
+ }
+
+ @Override
+ public void setReadListener(ReadListener listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int read() {
+ return inputStream.read();
+ }
+ }
+
+ private void parseRequestParameters() {
+ String string = new String(cachedBody);
+ HashMap<String, Object> formData = WebkitParseUtils.getFormData(string);
+ for (Map.Entry<String, Object> entry : formData.entrySet()) {
+ parameterMap.put(entry.getKey(), new String[]{entry.getValue().toString()});
+ }
+ }
+}
+
--
Gitblit v1.9.1