Spaces:
Running
Running
Update app.js
Browse files
app.js
CHANGED
@@ -131,7 +131,8 @@ async function handleRequest(req, res) {
|
|
131 |
'Content-Type': 'application/json; charset=utf-8',
|
132 |
'Accept-Encoding': 'gzip, deflate'
|
133 |
},
|
134 |
-
body: JSON.stringify(requestBody)
|
|
|
135 |
});
|
136 |
|
137 |
console.log('Response headers:', response.headers.raw());
|
@@ -159,17 +160,24 @@ async function handleRequest(req, res) {
|
|
159 |
res.setHeader('Cache-Control', 'no-cache');
|
160 |
res.setHeader('Connection', 'keep-alive');
|
161 |
|
162 |
-
|
163 |
-
const decoder = new TextDecoder();
|
164 |
-
|
165 |
-
while (true) {
|
166 |
-
const { done, value } = await reader.read();
|
167 |
-
if (done) break;
|
168 |
-
const chunk = decoder.decode(value, { stream: true });
|
169 |
res.write(chunk);
|
170 |
-
}
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
} else {
|
174 |
// ιζ΅εΌεεΊηε€η
|
175 |
const buffer = await response.buffer();
|
|
|
131 |
'Content-Type': 'application/json; charset=utf-8',
|
132 |
'Accept-Encoding': 'gzip, deflate'
|
133 |
},
|
134 |
+
body: JSON.stringify(requestBody),
|
135 |
+
compress: false
|
136 |
});
|
137 |
|
138 |
console.log('Response headers:', response.headers.raw());
|
|
|
160 |
res.setHeader('Cache-Control', 'no-cache');
|
161 |
res.setHeader('Connection', 'keep-alive');
|
162 |
|
163 |
+
response.body.on('data', (chunk) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
res.write(chunk);
|
165 |
+
});
|
166 |
|
167 |
+
response.body.on('end', () => {
|
168 |
+
res.end();
|
169 |
+
});
|
170 |
+
|
171 |
+
response.body.on('error', (err) => {
|
172 |
+
console.error('Stream error:', err);
|
173 |
+
res.status(500).json({
|
174 |
+
type: "error",
|
175 |
+
error: {
|
176 |
+
type: "stream_error",
|
177 |
+
message: "An error occurred while streaming the response."
|
178 |
+
}
|
179 |
+
});
|
180 |
+
});
|
181 |
} else {
|
182 |
// ιζ΅εΌεεΊηε€η
|
183 |
const buffer = await response.buffer();
|