648540858
2023-03-25 3b1516afe54cfa95a37b3356e7910c7ad57b32db
src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
@@ -5,6 +5,7 @@
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.junit.jupiter.api.Order;
import org.mitre.dsmiley.httpproxy.ProxyServlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,6 +26,7 @@
 */
@SuppressWarnings(value = {"rawtypes", "unchecked"})
@Configuration
@Order(1)
public class ProxyServletConfig {
    private final static Logger logger = LoggerFactory.getLogger(ProxyServletConfig.class);
@@ -167,13 +169,14 @@
        protected String rewriteQueryStringFromRequest(HttpServletRequest servletRequest, String queryString) {
            String queryStr = super.rewriteQueryStringFromRequest(servletRequest, queryString);
            MediaServerItem mediaInfo = getMediaInfoByUri(servletRequest.getRequestURI());
            String remoteHost = String.format("http://%s:%s", mediaInfo.getIp(), mediaInfo.getHttpPort());
            if (mediaInfo != null) {
                if (!ObjectUtils.isEmpty(queryStr)) {
                    queryStr += "&remoteHost=" + remoteHost;
                }else {
                    queryStr = "remoteHost=" + remoteHost;
                }
            if (mediaInfo == null) {
                return null;
            }
            String remoteHost = String.format("http://%s:%s", mediaInfo.getStreamIp(), mediaInfo.getRecordAssistPort());
            if (!ObjectUtils.isEmpty(queryStr)) {
                queryStr += "&remoteHost=" + remoteHost;
            }else {
                queryStr = "remoteHost=" + remoteHost;
            }
            return queryStr;
        }