Как правильно регистрировать ответы на запросы HTTPS (особенно SSE) в веб-просмотре Electron без использования устаревшиJavascript

Форум по Javascript
Ответить
Anonymous
 Как правильно регистрировать ответы на запросы HTTPS (особенно SSE) в веб-просмотре Electron без использования устаревши

Сообщение Anonymous »

Вот минимальный GitHub Gist, работающий на Electron Fiddle:
Изображение

Предполагается, что GitHub Copilot (github.com/copilot) будет отображаться в элементе веб-просмотра так, как если бы он был в обычном браузере:
Изображение

Используя следующий код:

Код: Выделить всё

const webviewSession = session.fromPartition(`persist:${id}`); //  new Promise(async resolve => {
const response = await net.fetch(request, { bypassCustomProtocolHandlers: true });
resolve(response);
}));
Я перехватываю запросы с намерением сделать что-то позже, в частности, регистрировать фрагменты SSE, но сейчас я хочу, чтобы это работало, больше ничего не делая.
Однако после входа в систему история чата никогда не загружается:
Изображение

Я заметил, что был запрос, который не работал с HTTP 422:
Изображение

Который возвращает 200 в обычном браузере:
Изображение

Любая идея, что здесь может быть не так, учитывая, что я даже не преобразую запросы вообще уже?
Вот код, который я добавлю для регистрации SSE ниже разрешения(ответ) (уже протестирован и работает на другом веб-сайте, использующем SSE) :

Код: Выделить всё

if(response.headers.get('content-type') === 'text/event-stream'){
const
reader = response.clone().body.getReader(),
decoder = new TextDecoder();
while(true){
const { done, value } = await reader.read();
if(done) break;
const text = decoder.decode(value, { stream: true });
console.log({ text });
}
Какое бы решение ни подходило для решения основной проблемы, оно должно также оставаться совместимым с этой проблемой или иметь альтернативу.
Пожалуйста, не упоминайте AI, он всегда либо предлагает webviewSession.protocol.interceptStreamProtocol, который устарел, либо webviewSession.webRequest.filterResponseData, который вообще не существует.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/798 ... on-webview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»