node-web-mvc
Version:
node spring mvc
113 lines (112 loc) • 3.23 kB
TypeScript
/**
* @module HttpServletResponse
* @description Http信息返回类
*/
import { ServerResponse } from 'http';
import HttpStatus from './HttpStatus';
import MediaType from './MediaType';
import { HttpHeaderValue } from '../../interface/declare';
import type ServletContext from './ServletContext';
export default class HttpServletResponse {
private tempStatusCode;
private tempStatusMessage;
startTime: number;
/**
* nodejs原生ServerResponse
*/
readonly nativeResponse: ServerResponse;
/**
* 当前请求上下文
*/
get servletContext(): ServletContext;
/**
* 判断返回头是否已经发送
*/
get headersSent(): boolean;
get status(): HttpStatus;
/**
* 获取当前设置的返回状态编码
*/
get statusCode(): any;
/**
* 获取当i请安设置返回状态的描述信息
*/
get statusMessage(): any;
/**
* 获取已经设置的content-type
*/
get nativeContentType(): string;
private writeStatus;
/**
* 当前请求是否有错误
*/
get hasError(): boolean;
/**
* 获取设置的返回头
* @param name
*/
getHeader(name: string): string | number | string[];
getHeaderValue(name: string): (string | number)[];
addHeader(name: string, value: HttpHeaderValue, checkExists?: boolean): void;
/**
* 添加一个指定名称的返回头到返回头队列
* @param {String} name 返回头名称
* @param {String} value 返回头值
*/
setHeader(name: string, value: HttpHeaderValue): this;
/**
* 返回异常,结束请i去
* @param name
*/
sendError(status: HttpStatus): void;
/**
* 判断当前返回头中是否指定头
*/
containsHeader(name: string): boolean;
/**
* 设置日期类型返回头
*/
setDateHeader(name: string, value: number | Date): this;
/**
* 设置返回状态
* @param response
*/
setStatus(status: number | HttpStatus, statusMessage?: any): this;
/**
* 移除指定返回头
* @param name 返回头
*/
removeHeader(name: string): void;
/**
* 以安全方式将要写入的内容创建成一个buffer对象
* @param data
* @returns {Buffer}
*/
createBuffer(data: any): Buffer;
/**
* 写出内容到客户端
* @param response
*/
write(chunk: string | Buffer, encoding?: BufferEncoding): void;
/**
* 结束请求
* @param response
*/
end(content?: string | Buffer, encoding?: BufferEncoding): void;
/**
* 立即结束请求,并且设置返回内容与返回内容类型
* 注意:此前不能调用response的 write与end函数
* @param content 要返回的内容
* @param mediaType 媒体类型
* @param encoding 编码
*/
fullResponse(content: string | Buffer, mediaType: MediaType, encoding?: BufferEncoding): Promise<void>;
/**
* 执行http重定向
* @param response
*/
sendRedirect(url: any, status?: number): void;
getLastModifiedTime(): Date;
setServletContext(context: ServletContext): void;
constructor(response: ServerResponse);
}