I am having a recent problem accessing a 3rd party webpage that still works fine in a browser but recently started causing an error in my B4J app when trying to retrieve it.
It appears that it may be related to http status code 103 ("early hints")? I have no control over the server. Is there any way to handle something like this through my B4J code?
Basic log:
Success = false
Status Code = 103
Error log:
java.net.ProtocolException: expected 0 bytes but received 2881
at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:290)
at okio.RealBufferedSource.select(RealBufferedSource.kt:229)
at okhttp3.internal.Util.readBomAsCharset(Util.kt:258)
at okhttp3.ResponseBody.string(ResponseBody.kt:187)
at anywheresoftware.b4h.okhttp.OkHttpClientWrapper$ExecuteHelper.run(OkHttpClientWrapper.java:243)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1589)
It appears that it may be related to http status code 103 ("early hints")? I have no control over the server. Is there any way to handle something like this through my B4J code?
Basic log:
Success = false
Status Code = 103
Error log:
java.net.ProtocolException: expected 0 bytes but received 2881
at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:290)
at okio.RealBufferedSource.select(RealBufferedSource.kt:229)
at okhttp3.internal.Util.readBomAsCharset(Util.kt:258)
at okhttp3.ResponseBody.string(ResponseBody.kt:187)
at anywheresoftware.b4h.okhttp.OkHttpClientWrapper$ExecuteHelper.run(OkHttpClientWrapper.java:243)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1589)