daton/lib/src/http/kernel/module/SetDatonHeaders.ts

33 lines
869 B
TypeScript
Raw Normal View History

2020-07-22 14:38:17 +00:00
import Module from '../Module.ts'
import Kernel from '../Kernel.ts'
import {Request} from '../../Request.ts'
import {Injectable} from '../../../../../di/src/decorator/Injection.ts'
import Config from '../../../unit/Config.ts'
2020-08-16 19:31:47 +00:00
/**
* Apply the default Daton headers to the outgoing response.
* @extends Module
*/
2020-07-22 14:38:17 +00:00
@Injectable()
export default class SetDatonHeaders extends Module {
public static register(kernel: Kernel) {
kernel.register(this).after()
}
constructor(
protected readonly config: Config,
) {
super()
}
2020-08-16 19:31:47 +00:00
/**
* Apply the outgoing response headers.
* @param request
*/
2020-07-22 14:38:17 +00:00
public async apply(request: Request): Promise<Request> {
const text = this.config.get('server.powered_by.text', 'Daton')
request.response.headers.set('X-Powered-By', text)
return request
}
}