Я пытаюсь настроить Alamofire на переадресацию (или нет) по запросу.Alamofire: переадресация через HTTP (или нет)
Alamofire имеет частный внутренний класс SessionDelegate
, который служит в качестве NSURLSessionTaskDelegate
для текущей сессии URL. SessionDelegate
действительно реализует соответствующий метод делегата, URLSession(session:, task:, willPerformHTTPRedirection response:, request:, completionHandler:)
, который именно то, что я хочу.
Еще лучше, реализация делегата предусматривает закрытие настраиваемой переменной с именем taskWillPerformHTTPRedirection
, чтобы определить, как обращаться с перенаправлением - опять же, именно то, что я хочу!
И насколько я могу судить, это закрытие всегда nil
по умолчанию - оно не назначено внутренним путем Alamofire - это предполагает, что он предназначен для того, чтобы пользователь мог назначить ему закрытие.
Проблема: я не могу получить доступ к этому приватному классу SessionDelegate
, чтобы назначить замыкание своей переменной taskWillPerformHTTPRedirection
. Это частный класс, и он не отображается в моих файлах Swift. Каковы надлежащие способы настройки запроса Alamofire (не), следуя переадресации?
Alamofire в AFnetworking уважает стандарты HTTP. поэтому я утверждаю, что он автоматически переадресовывается. Я знаю, потому что раньше я изменил домены, и приложение без проблем переместило перенаправление. – eddwinpaz
AFNetworking может быть настроен так, чтобы не следовать перенаправлениям. У Аламофира, безусловно, есть основание сделать то же самое. –
Поскольку Alamofire не так уж много кода и довольно молодая библиотека, я бы просто разветвил библиотеку и сам реализовал ее, используя taskWillPerformHTTPRedirection, как вы правильно заметили. Затем просто отправьте пиар. Кажется, что @mattt помещает эти крючки туда с самого начала, даже если они еще не используются публичным API Alamofire. –