mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +08:00 
			
		
		
		
	chore(express-partial-content): solve type errors
This commit is contained in:
		
							parent
							
								
									7976f43a35
								
							
						
					
					
						commit
						910cd68d0f
					
				| @ -44,12 +44,12 @@ export function createPartialContentHandler(contentProvider: ContentProvider, lo | |||||||
|     // If range is not specified, or the file is empty, return the full stream
 |     // If range is not specified, or the file is empty, return the full stream
 | ||||||
|     if (range === null) { |     if (range === null) { | ||||||
|       logger.debug("createPartialContentHandler: No range found, returning full content."); |       logger.debug("createPartialContentHandler: No range found, returning full content."); | ||||||
|       setContentLengthHeader(totalSize, res); |       setContentLengthHeader(String(totalSize), res); | ||||||
|       return getStream().pipe(res); |       return getStream().pipe(res); | ||||||
|     } |     } | ||||||
|     setContentRangeHeader(range, totalSize, res); |     setContentRangeHeader(range, totalSize, res); | ||||||
|     let { start, end } = range; |     let { start, end } = range; | ||||||
|     setContentLengthHeader(start === end ? 0 : end - start + 1, res); |     setContentLengthHeader(String(start === end ? 0 : end - start + 1), res); | ||||||
|     setCacheControlHeaderNoCache(res); |     setCacheControlHeaderNoCache(res); | ||||||
|     // Return 206 Partial Content status
 |     // Return 206 Partial Content status
 | ||||||
|     logger.debug("createPartialContentHandler: Returning partial content for range: ", JSON.stringify(range)); |     logger.debug("createPartialContentHandler: Returning partial content for range: ", JSON.stringify(range)); | ||||||
|  | |||||||
| @ -4,8 +4,16 @@ import type { Range } from "./Range.js"; | |||||||
| 
 | 
 | ||||||
| const rangeRegEx = /bytes=([0-9]*)-([0-9]*)/; | const rangeRegEx = /bytes=([0-9]*)-([0-9]*)/; | ||||||
| 
 | 
 | ||||||
| export function parseRangeHeader(range: string, totalSize: number, logger: Logger): Range | null { | export function parseRangeHeader(_range: string | string[] | null | undefined, totalSize: number, logger: Logger): Range | null { | ||||||
|   logger.debug("Un-parsed range is: ", range); |   logger.debug("Un-parsed range is: ", _range); | ||||||
|  | 
 | ||||||
|  |   if (!_range?.length) { | ||||||
|  |     return null; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // TODO: Maybe we need to support multiple ranges.
 | ||||||
|  |   const range = Array.isArray(_range) ? _range[0] : _range; | ||||||
|  | 
 | ||||||
|   // 1. If range is not specified or the file is empty, return null.
 |   // 1. If range is not specified or the file is empty, return null.
 | ||||||
|   if (!range || range === null || range.length === 0 || totalSize === 0) { |   if (!range || range === null || range.length === 0 || totalSize === 0) { | ||||||
|     return null; |     return null; | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| import type { Request, Response } from "express"; | import type { Request, Response } from "express"; | ||||||
| import type { Range } from "./Range.js"; | import type { Range } from "./Range.js"; | ||||||
| export const getHeader = (name: string, req: Request) => req.headers[name]; | export const getHeader = (name: string, req: Request) => req.headers[name]; | ||||||
| export const getRangeHeader = getHeader.bind(null, "range"); | export const getRangeHeader: (req: Request) => string | string[] | undefined = getHeader.bind(null, "range"); | ||||||
| export const setHeader = (name: string, value: string, res: Response) => res.setHeader(name, value); | export const setHeader = (name: string, value: string, res: Response) => res.setHeader(name, value); | ||||||
| export const setContentTypeHeader = setHeader.bind(null, "Content-Type"); | export const setContentTypeHeader = setHeader.bind(null, "Content-Type"); | ||||||
| export const setContentLengthHeader = setHeader.bind(null, "Content-Length"); | export const setContentLengthHeader = setHeader.bind(null, "Content-Length"); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran