Перехват HTTP-запроса обновления websocket в Ios / Swift 5 - URLProtocol
Я создаю библиотеку для перенаправления всех запросов из белого списка на другой хост. Есть несколько примеров того, как это сделать, так что большая часть работы на этом фронте завершена. Библиотека вносит некоторые изменения в исходный запрос, если он находится в белом списке, например шифрование, изменения в теле запроса и многое другое. Теперь я пытаюсь интегрировать перенаправление веб-сокета в библиотеку, так как запрос на веб-сокет (если он находится в белом списке) должен быть изменен и перенаправлен. идея состоит в том, чтобы все основные задачи выполнялись прозрачно, поэтому разработчик, использующий библиотеку, не должен обрабатывать какое-либо перенаправление.
Я использую протокол URL, который для обычных HTTP-запросов отлично работает, где каждый запрос передается в функцию canInit моих протоколов URL, где определяется, находится ли он в белом списке или нет, а затем обрабатывается или нет. однако запрос обновления веб-сокета никогда не просматривается 'canInit', поэтому я не могу изменить запрос.
Можно ли перехватить HTTP-запрос обновления URLSessionWebSocketTask? либо используя URLProtocol, либо другой метод?
спасибо всем за их ответ