Skip to content

Commit

Permalink
Revert "fix: handle bom in text and json (#1739)" (#1741)
Browse files Browse the repository at this point in the history
This reverts commit 29909d7.
  • Loading branch information
jimmywarting authored May 9, 2023
1 parent 29909d7 commit afb36f6
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 20 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"dependencies": {
"whatwg-url": "^5.0.0"
},
"peerDependencies": {
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
Expand Down
8 changes: 4 additions & 4 deletions src/body.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ Body.prototype = {
* @return Promise
*/
json() {
return this.text().then((text) => {
try{
return JSON.parse(text);
return consumeBody.call(this).then((buffer) => {
try {
return JSON.parse(buffer.toString());
} catch (err) {
return Body.Promise.reject(new FetchError(`invalid json response body at ${this.url} reason: ${err.message}`, 'invalid-json'));
}
Expand All @@ -129,7 +129,7 @@ Body.prototype = {
* @return Promise
*/
text() {
return consumeBody.call(this).then(buffer => new TextDecoder().decode(buffer));
return consumeBody.call(this).then(buffer => buffer.toString());
},

/**
Expand Down
15 changes: 0 additions & 15 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2479,21 +2479,6 @@ describe('Response', function () {
expect(res.headers.get('a')).to.equal('1');
});

it('should decode responses containing BOM to json', async () => {
const json = await new Response('\uFEFF{"a":1}').json();
expect(json.a).to.equal(1);
});

it('should decode responses containing BOM to text', async () => {
const text = await new Response('\uFEFF{"a":1}').text();
expect(text).to.equal('{"a":1}');
});

it('should keep BOM when getting raw bytes', async () => {
const ab = await new Response('\uFEFF{"a":1}').arrayBuffer();
expect(ab.byteLength).to.equal(10);
});

it('should support text() method', function() {
const res = new Response('a=1');
return res.text().then(result => {
Expand Down

0 comments on commit afb36f6

Please sign in to comment.