I am intercepting requests from the webview using shouldInterceptRequest
below is my code for returning my WebResourceResponse
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static WebResourceResponse handleRequestViaUrlOnly(WebResourceRequest webResourceRequest){
String url = webResourceRequest.getUrl().toString();
Log.i("intercepting req....!!!", url);
String ext = MimeTypeMap.getFileExtensionFromUrl(url);
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
try {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("Sample-Header", "hello");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
return new WebResourceResponse(mime, "UTF-8", conn.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
I call this method inside my CustomWebViewClient
class CustomWebViewClient extends WebViewClient {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
return handleRequestViaUrlOnly(request);
}
}
However, when I check the Request Headers from the WebView remote debugger in chrome://inspect/#devices.
The additional RequestProperty that I added is not present.
conn.setRequestProperty("Sample-Header", "hello");
The Sample-Header is not present in the Request Headers in the WebView.
Am I missing something? I'll appreciate any help.