File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed
services/file-retriever/src/http/controllers Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,15 @@ fileRouter.get(
6262 uniqueHeaderValue ( req . headers [ 'x-origin-control' ] ) ?. toLowerCase ( ) ===
6363 'no-cache'
6464
65+ const metadata = await dsnFetcher . fetchNodeMetadata ( cid )
66+ if ( byteRange ) {
67+ if ( byteRange [ 0 ] > Number ( metadata . size ) ) {
68+ res . set ( 'Content-Range' , `bytes */${ metadata . size } ` )
69+ res . sendStatus ( 416 )
70+ return
71+ }
72+ }
73+
6574 const [ fromCache , file ] = await fileComposer . get ( cid , {
6675 ignoreCache,
6776 byteRange,
@@ -88,12 +97,6 @@ fileRouter.get(
8897 if ( byteRange && file . size != null ) {
8998 const fileSizeNumber = Number ( file . size )
9099 const startIndex = byteRange [ 0 ]
91- // If the range start is beyond EOF, respond 416
92- if ( startIndex >= fileSizeNumber ) {
93- res . set ( 'Content-Range' , `bytes */${ fileSizeNumber } ` )
94- res . sendStatus ( 416 )
95- return
96- }
97100
98101 const effectiveEnd = Math . min (
99102 byteRange [ 1 ] != null ? byteRange [ 1 ] : fileSizeNumber - 1 ,
You can’t perform that action at this time.
0 commit comments