The NSURLProtocolClient protocol includes a method, -URLProtocol:wasRedirectedToRequest:redirectResponse:
, which instances of NSURLProtocol subclasses are supposed to use to tell an URL protocol client that the request was redirected. However, I'm not sure whether the URL Protocol is then supposed to attempt to retrieve the resource from the redirected URL or let the client issue a new request for that resource.
Can anyone tell me what the original URL protocol object is supposed to do in the case of a redirect?
To answer this question, I simply removed the code in my URL protocol implementation that follows the link given in the redirect response. It should be pretty obvious if the connection client follows creates a new connection to load the new URL. As it turns out, nothing happened -- the client never creates a new connection, and the redirect isn't followed. From this I have to conclude that the URL protocol itself should attempt to load URL given in the redirect response.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With