import {HTTPKernelModule} from "../HTTPKernelModule"; import {ResponseObject} from "../../routing/Route"; import {Request} from "../../lifecycle/Request"; import {plaintext} from "../../response/StringResponseFactory"; import {ResponseFactory} from "../../response/ResponseFactory"; import {json} from "../../response/JSONResponseFactory"; export abstract class AbstractResolvedRouteHandlerHTTPModule extends HTTPKernelModule { protected async applyResponseObject(object: ResponseObject, request: Request) { if ( (typeof object === 'string') || (typeof object === 'number') ) { object = plaintext(String(object)) } if ( object instanceof ResponseFactory ) { await object.write(request) } else if ( typeof object !== 'undefined' ) { await json(object).write(request) } else { await plaintext('').write(request) } } }