We are working on a security application, where we need to modify requests to route them through our backend infrastructure, to access internal resources.
So a request for https://example.acme/path/to/resource would be modified to https://secure.acme.com/https://exmaple.acme/path/to/resource with some cookies added for session identification.
So far we have been using UIWebView on iOS, and we have setup NSURLProtocol to modify fields before they are dispatched by CFNetwork.
We would like to move to WKWebView to take advantage of the new architecture. We need a way to modify requests at the client UI process, before they are dispatched to network. We need to modify fields such as URL and cookies.
We understand this is not possible with out-of-process design, but we do believe some control should be give to the client UI process to control requests before dispatch.
We believe an API similar to -webView:decidePolicyForNavigationAction:decisionHandler: would be a good place to be able to modify the requests.
We discussed this with the WebKit guys at WWDC 2016, and we reached the conclusion to open this bug report.