diff --git a/src/middlewares/ContentTypeMiddleware.ts b/src/middlewares/ContentTypeMiddleware.ts new file mode 100644 index 00000000..20b10ef4 --- /dev/null +++ b/src/middlewares/ContentTypeMiddleware.ts @@ -0,0 +1,15 @@ +import {IMiddleware} from "../Stack"; +import {IFetchRequest, IFetchResponse} from "./FetchMiddleware"; + +export class ContentTypeMiddleware implements IMiddleware>> { + constructor(private contentType: string = "application/json") { + } + + public process(options: IFetchRequest, next: (nextOptions: IFetchRequest) => Promise>): Promise> { + if (!options.headers) { + options.headers = {}; + } + options.headers["content-type"] = this.contentType; + return next(options); + } +}