@@ -9,12 +9,10 @@ namespace NzbWebDAV.Api.Controllers.GetWebdavItem;
99
1010[ ApiController ]
1111[ Route ( "view/{*path}" ) ]
12- public class ListWebdavDirectoryController ( DatabaseStore store ) : BaseApiController
12+ public class ListWebdavDirectoryController ( DatabaseStore store ) : ControllerBase
1313{
1414 private static readonly FileExtensionContentTypeProvider MimeTypeProvider = new ( ) ;
1515
16- protected override bool RequiresAuthentication => false ;
17-
1816 private async Task < Stream > GetWebdavItem ( GetWebdavItemRequest request )
1917 {
2018 var item = await store . GetItemAsync ( request . Item , HttpContext . RequestAborted ) ;
@@ -52,12 +50,19 @@ private async Task<Stream> GetWebdavItem(GetWebdavItemRequest request)
5250 return stream ;
5351 }
5452
55- protected override async Task < IActionResult > HandleRequest ( )
53+ [ HttpGet ]
54+ public async Task HandleRequest ( )
5655 {
57- var request = new GetWebdavItemRequest ( HttpContext ) ;
58- await using var response = await GetWebdavItem ( request ) ;
59- await response . CopyToAsync ( Response . Body , bufferSize : 1024 , HttpContext . RequestAborted ) ;
60- return new EmptyResult ( ) ;
56+ try
57+ {
58+ var request = new GetWebdavItemRequest ( HttpContext ) ;
59+ await using var response = await GetWebdavItem ( request ) ;
60+ await response . CopyToAsync ( Response . Body , bufferSize : 1024 , HttpContext . RequestAborted ) ;
61+ }
62+ catch ( UnauthorizedAccessException )
63+ {
64+ Response . StatusCode = 401 ;
65+ }
6166 }
6267
6368 private static string GetContentType ( string item )
0 commit comments