修复assist使用https时无法请求的bug

pull/1288/head
648540858 2024-01-22 16:34:58 +08:00
parent d68aebd409
commit a9264a8bc0
4 changed files with 18 additions and 11 deletions

View File

@ -78,11 +78,11 @@ public class AssistRESTfulUtils {
logger.warn("未启用Assist服务");
return null;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(String.format("http://%s:%s/%s", mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort(), api));
StringBuilder stringBuffer = new StringBuilder();
stringBuffer.append(api);
JSONObject responseJSON = null;
if (param != null && param.keySet().size() > 0) {
if (param != null && !param.keySet().isEmpty()) {
stringBuffer.append("?");
int index = 1;
for (String key : param.keySet()){
@ -97,6 +97,7 @@ public class AssistRESTfulUtils {
}
String url = stringBuffer.toString();
logger.info("[访问assist] {}", url);
Request request = new Request.Builder()
.get()
.url(url)
@ -262,7 +263,8 @@ public class AssistRESTfulUtils {
return sendPost(mediaServerItem, urlStr, videoTaskInfoJSON, null, 30);
}
public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, String taskId, Boolean isEnd) {
public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId,
String taskId, Boolean isEnd, String scheme) {
Map<String, Object> param = new HashMap<>();
if (!ObjectUtils.isEmpty(app)) {
param.put("app", app);
@ -279,7 +281,8 @@ public class AssistRESTfulUtils {
if (!ObjectUtils.isEmpty(isEnd)) {
param.put("isEnd", isEnd);
}
return sendGet(mediaServerItem, "api/record/file/download/task/list", param, null);
String urlStr = String.format("%s://%s:%s/api/record/file/download/task/list",
scheme, mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort());;
return sendGet(mediaServerItem, urlStr, param, null);
}
}

View File

@ -39,7 +39,7 @@ public interface ICloudRecordService {
/**
*
*/
JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd);
JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd, String scheme);
/**
*

View File

@ -142,7 +142,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
}
@Override
public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd) {
public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId,
Boolean isEnd, String scheme) {
MediaServerItem mediaServerItem = null;
if (mediaServerId == null) {
mediaServerItem = mediaServerService.getDefaultMediaServer();
@ -152,7 +153,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
if (mediaServerItem == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的流媒体");
}
JSONObject result = assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd);
JSONObject result = assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd, scheme);
if (result == null || result.getInteger("code") != 0) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), result == null ? "查询任务列表失败" : result.getString("msg"));
}

View File

@ -174,7 +174,7 @@ public class CloudRecordController {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的流媒体");
}else {
if (remoteHost == null) {
remoteHost = request.getScheme() + "://" + request.getLocalAddr() + ":" + mediaServerItem.getRecordAssistPort();
remoteHost = request.getScheme() + "://" + mediaServerItem.getIp() + ":" + mediaServerItem.getRecordAssistPort();
}
}
return cloudRecordService.addTask(app, stream, mediaServerItem, startTime, endTime, callId, remoteHost, mediaServerId != null);
@ -187,6 +187,7 @@ public class CloudRecordController {
@Parameter(name = "mediaServerId", description = "流媒体ID", required = false)
@Parameter(name = "isEnd", description = "是否结束", required = false)
public JSONArray queryTaskList(
HttpServletRequest request,
@RequestParam(required = false) String app,
@RequestParam(required = false) String stream,
@RequestParam(required = false) String callId,
@ -197,7 +198,8 @@ public class CloudRecordController {
if (ObjectUtils.isEmpty(mediaServerId)) {
mediaServerId = null;
}
return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd);
return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd, request.getScheme());
}
@ResponseBody