@@ -9,34 +9,32 @@ export class HEADRequestHandler implements WebDavMethodHandler {
99 handle = async ( req : Request , res : Response ) => {
1010 const resource = await WebDavUtils . getRequestedResource ( req . url ) ;
1111
12- webdavLogger . info ( `[HEAD] Request received for file at ${ resource . url } ` ) ;
12+ webdavLogger . info ( `[HEAD] Request received for item at ${ resource . url } ` ) ;
1313
14- try {
15- const driveFile = await WebDavUtils . getDriveFileFromResource ( resource . url ) ;
14+ const driveItem = await WebDavUtils . getDriveItemFromResource ( resource ) ;
1615
17- if ( ! driveFile ) {
18- throw new NotFoundError ( `Resource not found on Internxt Drive at ${ resource . url } ` ) ;
19- }
16+ if ( ! driveItem ) {
17+ throw new NotFoundError ( `Resource not found on Internxt Drive at ${ resource . url } ` ) ;
18+ }
2019
21- webdavLogger . info ( `[HEAD] [${ driveFile . uuid } ] Found Drive File ` ) ;
20+ webdavLogger . info ( `[HEAD] [${ driveItem . uuid } ] Found Drive item ` ) ;
2221
22+ if ( driveItem . itemType === 'file' ) {
2323 const range = req . headers [ 'range' ] ;
2424 const rangeOptions = NetworkUtils . parseRangeHeader ( {
2525 range,
26- totalFileSize : driveFile . size ,
26+ totalFileSize : driveItem . size ,
2727 } ) ;
28- let contentLength = driveFile . size ;
28+ let contentLength = driveItem . size ;
2929 if ( rangeOptions ) {
30- webdavLogger . info ( `[HEAD] [${ driveFile . uuid } ] Range request received:` , { rangeOptions } ) ;
30+ webdavLogger . info ( `[HEAD] [${ driveItem . uuid } ] Range request received:` , { rangeOptions } ) ;
3131 contentLength = rangeOptions . rangeSize ;
3232 }
3333
3434 res . header ( 'Content-Type' , 'application/octet-stream' ) ;
3535 res . header ( 'Content-length' , contentLength . toString ( ) ) ;
36- res . status ( 200 ) . send ( ) ;
37- } catch {
38- res . header ( 'Content-Type' , 'application/octet-stream' ) ;
39- res . status ( 200 ) . send ( ) ;
4036 }
37+
38+ res . status ( 200 ) . send ( ) ;
4139 } ;
4240}
0 commit comments