import {ResponseFactory} from "./ResponseFactory"; import {HTTPStatus} from "@extollo/util"; import {Request} from "../lifecycle/Request"; export function redirect(destination: string): TemporaryRedirectResponseFactory { return new TemporaryRedirectResponseFactory(destination) } export class TemporaryRedirectResponseFactory extends ResponseFactory { protected targetStatus: HTTPStatus = HTTPStatus.TEMPORARY_REDIRECT constructor( public readonly destination: string ) { super() } public async write(request: Request) { request = await super.write(request) request.response.setHeader('Location', this.destination) return request } }