Add token to m3u controller to fix #419
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
This commit is contained in:
@@ -22,9 +22,9 @@ package org.libresonic.player.controller;
|
|||||||
import org.libresonic.player.domain.MediaFile;
|
import org.libresonic.player.domain.MediaFile;
|
||||||
import org.libresonic.player.domain.PlayQueue;
|
import org.libresonic.player.domain.PlayQueue;
|
||||||
import org.libresonic.player.domain.Player;
|
import org.libresonic.player.domain.Player;
|
||||||
|
import org.libresonic.player.service.JWTSecurityService;
|
||||||
import org.libresonic.player.service.NetworkService;
|
import org.libresonic.player.service.NetworkService;
|
||||||
import org.libresonic.player.service.PlayerService;
|
import org.libresonic.player.service.PlayerService;
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
import org.libresonic.player.service.TranscodingService;
|
import org.libresonic.player.service.TranscodingService;
|
||||||
import org.libresonic.player.util.StringUtil;
|
import org.libresonic.player.util.StringUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -32,6 +32,7 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -52,9 +53,9 @@ public class M3UController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PlayerService playerService;
|
private PlayerService playerService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SettingsService settingsService;
|
|
||||||
@Autowired
|
|
||||||
private TranscodingService transcodingService;
|
private TranscodingService transcodingService;
|
||||||
|
@Autowired
|
||||||
|
private JWTSecurityService jwtSecurityService;
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
@@ -89,7 +90,12 @@ public class M3UController {
|
|||||||
duration = -1;
|
duration = -1;
|
||||||
}
|
}
|
||||||
out.println("#EXTINF:" + duration + "," + mediaFile.getArtist() + " - " + mediaFile.getTitle());
|
out.println("#EXTINF:" + duration + "," + mediaFile.getArtist() + " - " + mediaFile.getTitle());
|
||||||
out.println(url + "player=" + player.getId() + "&id=" + mediaFile.getId() + "&suffix=." + transcodingService.getSuffix(player, mediaFile, null));
|
|
||||||
|
String urlNoAuth = url + "player=" + player.getId() + "&id=" + mediaFile.getId() + "&suffix=." +
|
||||||
|
transcodingService.getSuffix(player, mediaFile, null);
|
||||||
|
String urlWithAuth = jwtSecurityService.addJWTToken(UriComponentsBuilder.fromUriString(urlNoAuth)).build().toUriString();
|
||||||
|
out.println(urlWithAuth);
|
||||||
|
out.println();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user