Initial working implementation of HLS proxy
This commit is contained in:
@ -0,0 +1,30 @@
|
||||
package com.backend.hls.proxy.controller;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
||||
|
||||
import com.backend.hls.proxy.exception.FetchFailException;
|
||||
import com.backend.hls.proxy.exception.PlaylistParseException;
|
||||
import com.backend.hls.proxy.service.PlaylistProxyService;
|
||||
|
||||
@RestController
|
||||
public class ProxyController {
|
||||
|
||||
private final PlaylistProxyService playlistProxyService;
|
||||
|
||||
public ProxyController(PlaylistProxyService playlistProxyService) {
|
||||
this.playlistProxyService = playlistProxyService;
|
||||
}
|
||||
|
||||
@GetMapping("/proxy")
|
||||
public ResponseEntity<?> proxy(@RequestParam("url") String url) throws FetchFailException, PlaylistParseException {
|
||||
String fullUrl = ServletUriComponentsBuilder.fromCurrentRequestUri().build().toUriString();
|
||||
String baseUrl = fullUrl.substring(0, fullUrl.indexOf("/", 8));
|
||||
String result = playlistProxyService.proxyPlaylist(url, baseUrl);
|
||||
return ResponseEntity.ok(result);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user