make HTTP server unit more configurable
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-04-12 11:43:06 -05:00
parent aca4c8aa4d
commit 574ddbe9cb
3 changed files with 28 additions and 5 deletions

View File

@@ -32,7 +32,7 @@ export class ParseIncomingBodyHTTPModule extends HTTPKernelModule {
public async apply(request: Request): Promise<Request> {
const contentType = request.getHeader('content-type')
const contentTypes = (Array.isArray(contentType) ? contentType : [contentType])
.filter(Boolean).map(x => x!.toLowerCase())
.filter(Boolean).map(x => x!.toLowerCase().split(';')[0])
if ( !contentType ) return request
if (
@@ -49,6 +49,10 @@ export class ParseIncomingBodyHTTPModule extends HTTPKernelModule {
return request
}
/**
* Parse the request body as JSON.
* @param request
*/
public async applyJSON(request: Request): Promise<Request> {
await new Promise<void>((res, rej) => {
let data = ''
@@ -74,6 +78,10 @@ export class ParseIncomingBodyHTTPModule extends HTTPKernelModule {
return request
}
/**
* Parse the request body using Busboy. This assumes the request contents are multipart.
* @param request
*/
public async applyBusboy(request: Request): Promise<Request> {
const config = this.config.get('server.uploads', {})