lib/src/http/response/StringResponseFactory.ts

28 lines
820 B
TypeScript
Raw Normal View History

import {ResponseFactory} from "./ResponseFactory";
import {Request} from "../lifecycle/Request";
2021-03-25 13:50:13 +00:00
/**
* Helper function that creates a new StringResponseFactory for the given string value.
* @param value
*/
export function plaintext(value: string): StringResponseFactory {
return new StringResponseFactory(value)
}
2021-03-25 13:50:13 +00:00
/**
* Response factory that renders a given string as the response in plaintext.
*/
export class StringResponseFactory extends ResponseFactory {
constructor(
2021-03-25 13:50:13 +00:00
/** The string to write as the body. */
public readonly value: string,
) { super() }
public async write(request: Request) {
request = await super.write(request)
request.response.setHeader('Content-Type', 'text/plain')
request.response.body = this.value
return request
}
}