parent
							
								
									b8ade50810
								
							
						
					
					
						commit
						b2dd04e864
					
				| @ -0,0 +1,28 @@ | ||||
| package org.libresonic.player.controller; | ||||
| 
 | ||||
| import org.libresonic.player.Logger; | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMethod; | ||||
| import org.springframework.web.servlet.ModelAndView; | ||||
| 
 | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| 
 | ||||
| /** | ||||
|  * Spring MVC Controller that serves the login page. | ||||
|  */ | ||||
| @Controller | ||||
| @RequestMapping("/accessDenied") | ||||
| public class AccessDeniedController { | ||||
| 
 | ||||
| 
 | ||||
|     private static final Logger LOG = Logger.getLogger(AccessDeniedController.class); | ||||
| 
 | ||||
|     @RequestMapping(method = {RequestMethod.GET}) | ||||
|     public ModelAndView accessDenied(HttpServletRequest request, HttpServletResponse response) { | ||||
|         return new ModelAndView("accessDenied"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,51 @@ | ||||
| package org.libresonic.player.controller; | ||||
| 
 | ||||
| import org.libresonic.player.Logger; | ||||
| import org.libresonic.player.domain.Playlist; | ||||
| import org.libresonic.player.service.PlaylistService; | ||||
| import org.libresonic.player.service.SecurityService; | ||||
| import org.libresonic.player.util.StringUtil; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.web.bind.ServletRequestUtils; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMethod; | ||||
| import org.springframework.web.servlet.ModelAndView; | ||||
| 
 | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| 
 | ||||
| /** | ||||
|  * Spring MVC Controller that serves the login page. | ||||
|  */ | ||||
| @Controller | ||||
| @RequestMapping("/exportPlaylist") | ||||
| public class ExportPlayListController { | ||||
| 
 | ||||
| 
 | ||||
|     private static final Logger LOG = Logger.getLogger(ExportPlayListController.class); | ||||
| 
 | ||||
|     @Autowired | ||||
|     private PlaylistService playlistService; | ||||
|     @Autowired | ||||
|     private SecurityService securityService; | ||||
| 
 | ||||
|     @RequestMapping(method = { RequestMethod.GET }) | ||||
|     public ModelAndView exportPlaylist(HttpServletRequest request, HttpServletResponse response) throws Exception { | ||||
| 
 | ||||
|         int id = ServletRequestUtils.getRequiredIntParameter(request, "id"); | ||||
|         Playlist playlist = playlistService.getPlaylist(id); | ||||
|         if (!playlistService.isReadAllowed(playlist, securityService.getCurrentUsername(request))) { | ||||
|             response.sendError(HttpServletResponse.SC_FORBIDDEN); | ||||
|             return null; | ||||
| 
 | ||||
|         } | ||||
|         response.setContentType("application/x-download"); | ||||
|         response.setHeader("Content-Disposition", "attachment; filename=\"" + StringUtil.fileSystemSafe(playlist.getName()) + ".m3u8\""); | ||||
| 
 | ||||
|         playlistService.exportPlaylist(id, response.getOutputStream()); | ||||
|         return null; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,28 @@ | ||||
| package org.libresonic.player.controller; | ||||
| 
 | ||||
| import org.libresonic.player.Logger; | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMethod; | ||||
| import org.springframework.web.servlet.ModelAndView; | ||||
| 
 | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| 
 | ||||
| /** | ||||
|  * Spring MVC Controller that serves the login page. | ||||
|  */ | ||||
| @Controller | ||||
| @RequestMapping("/notFound") | ||||
| public class NotFoundController { | ||||
| 
 | ||||
| 
 | ||||
|     private static final Logger LOG = Logger.getLogger(NotFoundController.class); | ||||
| 
 | ||||
|     @RequestMapping(method = {RequestMethod.GET}) | ||||
|     public ModelAndView notFound(HttpServletRequest request, HttpServletResponse response) { | ||||
|         return new ModelAndView("notFound"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,28 @@ | ||||
| package org.libresonic.player.controller; | ||||
| 
 | ||||
| import org.libresonic.player.Logger; | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMethod; | ||||
| import org.springframework.web.servlet.ModelAndView; | ||||
| 
 | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| 
 | ||||
| /** | ||||
|  * Spring MVC Controller that serves the login page. | ||||
|  */ | ||||
| @Controller | ||||
| @RequestMapping("/test") | ||||
| public class TestController { | ||||
| 
 | ||||
| 
 | ||||
|     private static final Logger LOG = Logger.getLogger(TestController.class); | ||||
| 
 | ||||
|     @RequestMapping(method = {RequestMethod.GET}) | ||||
|     public ModelAndView test(HttpServletRequest request, HttpServletResponse response) { | ||||
|         return new ModelAndView("test"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue