Получите доступ к NSURLRequest из WKNavigationDelegate's managePolicyForNavigationResponse: метод

Я пытаюсь получить доступ к объекту запроса из этого метода на WKNavigationDelegate:

optional func webView(_ webView: WKWebView, 
      decidePolicyFor navigationResponse: WKNavigationResponse, 
      decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void)

Это кажется простой задачей, но я не могу понять, как получить доступ к NSURLRequest Объект непосредственно из того, что доступно в этом методе. Я могу получить доступ к URLResponse объект как свойство на WKNavigationResponseи оттуда HTTPURLResponse (так как это сетевой запрос), но даже на HTTPURLResponse Я не могу найти какое-либо свойство, ссылающееся на первоначальный запрос. Я хочу определить тип ответа и, в зависимости от типа, отменить запрос и загрузить его вручную в качестве задачи с данными. Я просмотрела WKWebView но не нашел никаких свойств, разрешающих доступ к ожидающим запросам.

Я мог вручную сохранить каждый ожидающий запрос в делегате навигации decidePolicyFor:WKNavigationAction метод и использовать этот запрос, но я не смог найти никакой документации о том, происходит ли только один запрос за один раз. Я мог сохранить коллекцию ожидающих запросов, но не смог найти какой-либо способ уникальной связи WKNavigationRequest к WKNavigationResponse,

То, что я делаю сейчас, вручную отменяет определенный запрос в decidePolicyFor: WKNavigationAction, Это быстрее, чем то, что я предлагаю здесь, но если бэкэнд, который я бью, изменяет свои конечные точки, мое приложение сломается. Обработка типа ответа была бы отличной реализацией. Любые предложения очень ценятся!

0 ответов

Другие вопросы по тегам