Skip to content

Commit afc7ee1

Browse files
author
Admin
committed
New streamed json response - handle corner case of chunk containing \n edit dock-block
1 parent ce16cdd commit afc7ee1

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

src/Responses/StreamedJsonResponse.php

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@
6666
*
6767
* Body:
6868
*
69-
* {'id':17009,'value':'92.00','created_at':'2024-01-17 09:17:11','updated_at':null,'primary_key_identifier':'17009'}
70-
* {'id':17008,'value':'87.00','created_at':'2024-01-17 09:17:11','updated_at':null,'primary_key_identifier':'17008'}
69+
* {"id":17009,"value":"92.00","created_at":"2024-01-17 09:17:11","updated_at":null,"primary_key_identifier":"17009"}
70+
* {"id":17008,"value":"87.00","created_at":"2024-01-17 09:17:11","updated_at":null,"primary_key_identifier":"17008"}
7171
* ...
7272
*
7373
* Example javascript code to handle this response:
@@ -84,7 +84,6 @@
8484
* .then(response => {
8585
* const reader = response.body.getReader();
8686
* const decoder = new TextDecoder();
87-
* let receivedLength = 0;
8887
* let leftOver = '';
8988
* return new ReadableStream({
9089
* start(controller) {
@@ -94,7 +93,6 @@
9493
* controller.close();
9594
* return;
9695
* }
97-
* receivedLength += value.length;
9896
* const chunk = decoder.decode(value, { stream: true });
9997
* chunk.split(/\n/).forEach(function (element) {
10098
* let row;
@@ -106,17 +104,16 @@
106104
* leftOver = element;
107105
*
108106
* return;
109-
* } else {
110-
* try {
111-
* row = JSON.parse(leftOver + element);
112-
* leftOver = '';
113-
* } catch (ex) {
114-
* console.log('ex');
115-
* leftOver += element;
116-
* console.log('This leftOver should not happen: ' + leftOver);
107+
* }
108+
* try {
109+
* row = JSON.parse(leftOver + element);
110+
* leftOver = '';
111+
* } catch (ex) {
112+
* console.log('ex');
113+
* leftOver += element;
114+
* console.log('This leftOver should not happen: ' + leftOver);
117115
*
118-
* return;
119-
* }
116+
* return;
120117
* }
121118
* }
122119
*

0 commit comments

Comments
 (0)