import ResponseFactory from './ResponseFactory.ts' import {Request} from '../Request.ts' import {HTTPStatus} from '../../const/http.ts' /** * Response factory that sends a temporary redirect. * @extends ResponseFactory */ export default class TemporaryRedirectResponseFactory extends ResponseFactory { protected target_status: HTTPStatus = HTTPStatus.TEMPORARY_REDIRECT constructor( /** * Destination to redirect the user to. * @type string */ public readonly destination: string, ) { super() } public async write(request: Request): Promise { request = await super.write(request) request.response.headers.set('Location', this.destination) return request } }