Bug 158812 - [OSX, iOS] Need delegate API to modify requests before dispatching
Summary: [OSX, iOS] Need delegate API to modify requests before dispatching
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: Other
Hardware: iPhone / iPad All
: P2 Blocker
Assignee: Nobody
Depends on:
Reported: 2016-06-15 15:05 PDT by Leo Natan
Modified: 2016-06-15 18:33 PDT (History)
4 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Leo Natan 2016-06-15 15:05:08 PDT
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.