Мое приложение отправляет некоторые запросы через прокси-сервер, для которого требуются специальные заголовки X-xxxx для метода CONNECT.
Я просмотрел поля в URLSessionConfiguration, насколько я мог видеть, что вы можете видетьтолько установите прокси-хост: порт и установите авторизацию, а httpAdditionalHeaders относится только к фактическому запросу.
Другие решения (я смотрел):
- POSIX-сокеты: тоженизкий уровень и слишком много работы (обработка tls) для чего-то такого маленького.
- Network.framework: поддерживает macOS 10.14+, мое приложение в настоящее время поддерживает 10.10 +.
- SwiftNIO: официально поддерживается macOS 10.12+(но это только что протестировано, так что, теоретически, будет работать для меня), но это добавляет целую сетевую библиотеку в мое относительно небольшое приложение
Я надеюсь на решение с использованием существующих встроенных API.
Есть ли способ установить пользовательский заголовок для запроса CONNECT при использовании быстрой URLSession? или что-то в objC?
Редактировать:
Я в порядке с любым решением в виде:
- открыть сокет для прокси
- вручную записать заголовок CONNECT
- дождаться ответа
- "труба" потока запросов в сокет