java - 如何通过 RestController 代理内部 mjpeg 端点
问题描述
我需要公开从我的应用程序服务器(jhipster 网关)的 RestController 中的端点传递的本地 Motion JPEG 端点(例如“ http://192.168.1.10/video.mjpg ”),因为我需要保证授予和授权流式传输它。
我已经尝试过这个解决方案
@GetMapping("/video")
@Timed
public void stream(@RequestParam(name = "url") String url, HttpServletResponse response) throws IOException {
log.debug("REST request to stream : {}", url);
response.setStatus(HttpStatus.OK.value());
response.setHeader(HttpHeaders.CONTENT_TYPE, "multipart/x-mixed-replace");
response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache");
response.setHeader("Pragma", "no-cache");
RestTemplate restTemplate = new RestTemplate();
restTemplate.execute(
url,
HttpMethod.GET,
(ClientHttpRequest requestCallback) -> {},
responseExtractor -> {
IOUtils.copy(responseExtractor.getBody(), response.getOutputStream());
return null;
});
}
但它没有用。有什么建议吗?
解决方案
推荐阅读
- javascript - 如何用一个以上的数组解析 json?
- firebase - Firebase 函数 onCall,响应:警告,FIREBASE_CONFIG 环境变量丢失。初始化 firebase-admin 将失败
- docker - 相当于 docker-compose 中的 docker 选项 --config
- node.js - 是否有可能改变 aws lambda 调用处理函数的方式
- c - 通过 freopen() 重定向后恢复标准输出
- python - Flask 应用程序给出“'NoneType' 对象没有属性 'drivername'”错误
- mysql - 酒店预订系统,用sql查询查找免费房间的问题
- stripe-payments - 新 Stripe Checkout 中的税率
- javascript - 运行 Type Script 代码时出现未定义的错误
- skype - 在本地网络上设置 Skype 业务