node-web-mvc
Version:
node spring mvc
51 lines (50 loc) • 1.32 kB
TypeScript
/**
* @module Resource
* @description 静态资源对象
*/
import fs from 'fs';
import { ServerResponse } from 'http';
import { Readable } from 'stream';
export interface InputStream extends Readable {
close: () => void;
}
export default class Resource {
readonly stat: fs.Stats;
/**
* 获取当前文件明
*/
readonly url: string;
/**
* 当前资源内容长度
*/
get contentLength(): number;
/**
* 最后修改时间
*/
get lastModified(): number;
/**
* 获取当前文件的mediaType
*/
get mediaType(): import("../..").MediaType;
get isReadable(): boolean;
constructor(filename: string);
createRelative(relativePath: string): Resource;
/**
* 获取当前资源的读取流
*/
getInputStream(): InputStream;
/**
* 获取当前资源,指定位置的读取流
* @param start
* @param end
*/
getInputRangeStream(start: number, end: number): InputStream;
/**
* 将资源文件附加到response
* @param response 原始返回对象
* @param start 如果是http-ragen则设置开始位置
* @param end 如果是http-ragen则设置结束位置
* @returns
*/
pipe(response: ServerResponse, start?: number, end?: number): Promise<unknown>;
}