Перехватить запрос на обновление HTTP веб-сокета в Ios / Swift 5 - URLProtocol - PullRequest
0 голосов
/ 25 марта 2020

Я создаю библиотеку для перенаправления всех запросов из белого списка на другой хост. Есть несколько примеров того, как это сделать, поэтому большая часть работы на этом фронте завершена. Библиотека вносит некоторые изменения в исходный запрос, если он находится в белом списке, такие как шифрование, изменения в теле запроса и т. Д. Сейчас я пытаюсь интегрировать перенаправление веб-сокетов в библиотеку, так как запрос на веб-сокет (если он находится в белом списке) необходимо изменить и перенаправить. Идея состоит в том, чтобы все базовые задачи обрабатывались прозрачно, поэтому разработчику, использующему библиотеку, не нужно обрабатывать перенаправление.

Я использую URLprotocol, который идеально подходит для обычных HTTP-запросов, где каждый запрос передается для моих протоколов URL функция canInit, где определяется, находится ли она в белом списке или нет, затем обрабатывается или нет. однако canInit никогда не видит запрос на обновление websocket, поэтому я не могу изменить его.

Возможно ли перехватить HTTP-запрос на обновление URL-адреса URL-сессииWebSocketTask? используя URLProtocol или другой метод?

спасибо всем за ответ

...