diff --git a/packages/common/http/src/request.ts b/packages/common/http/src/request.ts index bb49113b0ad71..619f6ed1f7c47 100644 --- a/packages/common/http/src/request.ts +++ b/packages/common/http/src/request.ts @@ -324,7 +324,7 @@ export class HttpRequest { } // Arrays, objects, and numbers will be encoded as JSON. if (typeof this.body === 'object' || typeof this.body === 'number' || - Array.isArray(this.body)) { + typeof this.body === 'boolean' || Array.isArray(this.body)) { return 'application/json'; } // No type could be inferred. diff --git a/packages/common/http/test/request_spec.ts b/packages/common/http/test/request_spec.ts index 7519b47e00479..9a0d91f3cac29 100644 --- a/packages/common/http/test/request_spec.ts +++ b/packages/common/http/test/request_spec.ts @@ -129,6 +129,10 @@ const TEST_STRING = `I'm a body!`; const req = baseReq.clone({body: {data: 'test data'}}); expect(req.detectContentTypeHeader()).toBe('application/json'); }); + it('handles boolean as json', () => { + const req = baseReq.clone({body: true}); + expect(req.detectContentTypeHeader()).toBe('application/json'); + }); }); describe('body serialization', () => { const baseReq = new HttpRequest('POST', '/test', null);