From f3e4928995401ba3b7ff0981867293838a50036e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 31 一月 2023 14:16:47 +0800
Subject: [PATCH] Merge pull request #731 from zl2fxy/patch-1
---
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