fluttercommunity/flutter_webview_plugin

onHttpError called with a 200 code

Open

#414 aberto em 9 de mai. de 2019

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Java (919 forks)batch import
IOSbughelp wanted

Métricas do repositório

Stars
 (1.457 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

I'm using this plugin for a payment process (using a bank web interface). I first load a generated HTML page (given a Uri.dataFromString() with mimeType sets to text/html) that build a form that auto-submit with action field sets to the bank server URL (where you enter your credit card information).

This workflow works fine on Android but I'm having a strange behavior on iOS. Right after the state changed to WebViewState.startLoad (with the bank server URL), onHttpError is triggered with a HTTP 200 code.

I initially quit the webview when an error occur to show a message. So I add a test to avoid false error codes and the web page works fine despite the error.

My app use the latest version (0.3.5).

I would like to know what can cause this behavior, I tried to put breakpoints in Xcode to have more info directly from the WKWebView didFailNavigation (inside FlutterWebviewPlugin.m) but my breakpoint is never hit...

EDIT: Putting the breakpoint in WKWebView decidePolicyForNavigationResponse works. Reading the code inside this method I noticed that there is no test to determined if the response is effectively an error.

Guia do colaborador