From ce035dbcdb38fc1f73ec82f54336f490a632b53b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 05 一月 2023 09:38:11 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' into wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
index 93b975e..d0abfbf 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
@@ -14,6 +14,7 @@
 import org.springframework.boot.web.servlet.ServletRegistrationBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
 import javax.servlet.ServletException;
@@ -55,7 +56,7 @@
             String queryStr = super.rewriteQueryStringFromRequest(servletRequest, queryString);
             MediaServerItem mediaInfo = getMediaInfoByUri(servletRequest.getRequestURI());
             if (mediaInfo != null) {
-                if (!StringUtils.isEmpty(queryStr)) {
+                if (!ObjectUtils.isEmpty(queryStr)) {
                     queryStr += "&secret=" + mediaInfo.getSecret();
                 }else {
                     queryStr = "secret=" + mediaInfo.getSecret();
@@ -127,7 +128,7 @@
         MediaServerItem getMediaInfoByUri(String uri){
             String[] split = uri.split("/");
             String mediaServerId = split[2];
-            if ("default".equals(mediaServerId)) {
+            if ("default".equalsIgnoreCase(mediaServerId)) {
                 return mediaServerService.getDefaultMediaServer();
             }else {
                 return mediaServerService.getOne(mediaServerId);
@@ -143,9 +144,13 @@
             MediaServerItem mediaInfo = getMediaInfoByUri(requestURI);
             String url = super.rewriteUrlFromRequest(servletRequest);
             if (mediaInfo == null) {
+                logger.error("[ZLM鏈嶅姟璁块棶浠g悊]锛岄敊璇細澶勭悊url淇℃伅鏃舵湭鎵惧埌娴佸獟浣撲俊鎭�=>{}", requestURI);
                 return  url;
             }
-            return url.replace(mediaInfo.getId() + "/", "").replace("default/", "");
+            if (!ObjectUtils.isEmpty(mediaInfo.getId())) {
+                url = url.replace(mediaInfo.getId() + "/", "");
+            }
+            return url.replace("default/", "");
         }
     }
 
@@ -169,7 +174,7 @@
             MediaServerItem mediaInfo = getMediaInfoByUri(servletRequest.getRequestURI());
             String remoteHost = String.format("http://%s:%s", mediaInfo.getIp(), mediaInfo.getHttpPort());
             if (mediaInfo != null) {
-                if (!StringUtils.isEmpty(queryStr)) {
+                if (!ObjectUtils.isEmpty(queryStr)) {
                     queryStr += "&remoteHost=" + remoteHost;
                 }else {
                     queryStr = "remoteHost=" + remoteHost;
@@ -241,7 +246,7 @@
         MediaServerItem getMediaInfoByUri(String uri){
             String[] split = uri.split("/");
             String mediaServerId = split[2];
-            if ("default".equals(mediaServerId)) {
+            if ("default".equalsIgnoreCase(mediaServerId)) {
                 return mediaServerService.getDefaultMediaServer();
             }else {
                 return mediaServerService.getOne(mediaServerId);
@@ -258,9 +263,13 @@
             MediaServerItem mediaInfo = getMediaInfoByUri(requestURI);
             String url = super.rewriteUrlFromRequest(servletRequest);
             if (mediaInfo == null) {
+                logger.error("[褰曞儚鏈嶅姟璁块棶浠g悊]锛岄敊璇細澶勭悊url淇℃伅鏃舵湭鎵惧埌娴佸獟浣撲俊鎭�=>{}", requestURI);
                 return  url;
             }
-            return url.replace(mediaInfo.getId() + "/", "").replace("default/", "");
+            if (!ObjectUtils.isEmpty(mediaInfo.getId())) {
+                url = url.replace(mediaInfo.getId() + "/", "");
+            }
+            return url.replace("default/", "");
         }
     }
 

--
Gitblit v1.8.0