From ce950dea4aef933a12e78e4fe1f535ba9a83c3df Mon Sep 17 00:00:00 2001
From: leesam <leesam@leesam.cn>
Date: 星期三, 10 四月 2024 22:18:40 +0800
Subject: [PATCH] Merge branch 'refs/heads/master' into develop-add-api-key
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java
index d3225a2..44431cf 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java
@@ -7,6 +7,7 @@
import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.conf.exception.ServiceException;
import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException;
+import com.genersoft.iot.vmp.conf.security.JwtUtils;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
@@ -20,6 +21,7 @@
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,6 +36,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.sip.InvalidArgumentException;
import javax.sip.SipException;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.text.ParseException;
import java.util.UUID;
@@ -66,7 +70,7 @@
@Autowired
private UserSetting userSetting;
- @Operation(summary = "寮�濮嬭棰戝洖鏀�")
+ @Operation(summary = "寮�濮嬭棰戝洖鏀�", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
@Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true)
@Parameter(name = "startTime", description = "寮�濮嬫椂闂�", required = true)
@@ -99,7 +103,15 @@
if (data != null) {
StreamInfo streamInfo = (StreamInfo)data;
if (userSetting.getUseSourceIpAsStreamIp()) {
- streamInfo.channgeStreamIp(request.getLocalAddr());
+ streamInfo=streamInfo.clone();//娣辨嫹璐�
+ String host;
+ try {
+ URL url=new URL(request.getRequestURL().toString());
+ host=url.getHost();
+ } catch (MalformedURLException e) {
+ host=request.getLocalAddr();
+ }
+ streamInfo.channgeStreamIp(host);
}
wvpResult.setData(new StreamContent(streamInfo));
}
@@ -115,7 +127,7 @@
}
- @Operation(summary = "鍋滄瑙嗛鍥炴斁")
+ @Operation(summary = "鍋滄瑙嗛鍥炴斁", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
@Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true)
@Parameter(name = "stream", description = "娴両D", required = true)
@@ -139,7 +151,7 @@
}
- @Operation(summary = "鍥炴斁鏆傚仠")
+ @Operation(summary = "鍥炴斁鏆傚仠", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "streamId", description = "鍥炴斁娴両D", required = true)
@GetMapping("/pause/{streamId}")
public void playPause(@PathVariable String streamId) {
@@ -155,7 +167,7 @@
}
- @Operation(summary = "鍥炴斁鎭㈠")
+ @Operation(summary = "鍥炴斁鎭㈠", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "streamId", description = "鍥炴斁娴両D", required = true)
@GetMapping("/resume/{streamId}")
public void playResume(@PathVariable String streamId) {
@@ -170,7 +182,7 @@
}
- @Operation(summary = "鍥炴斁鎷栧姩鎾斁")
+ @Operation(summary = "鍥炴斁鎷栧姩鎾斁", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "streamId", description = "鍥炴斁娴両D", required = true)
@Parameter(name = "seekTime", description = "鎷栧姩鍋忕Щ閲忥紝鍗曚綅s", required = true)
@GetMapping("/seek/{streamId}/{seekTime}")
@@ -190,7 +202,7 @@
}
}
- @Operation(summary = "鍥炴斁鍊嶉�熸挱鏀�")
+ @Operation(summary = "鍥炴斁鍊嶉�熸挱鏀�", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "streamId", description = "鍥炴斁娴両D", required = true)
@Parameter(name = "speed", description = "鍊嶉��0.25 0.5 1銆�2銆�4", required = true)
@GetMapping("/speed/{streamId}/{speed}")
--
Gitblit v1.8.0