Increase WebDAV timeouts and declare body one-shot
As most output streams come from the system, we can't re-send them. So when okhttp wants to retry it tries to write to closed streams which will fail. We declare our outputstream writing as one-shot for this reason.
This commit is contained in:
parent
af15b4afdf
commit
e76ab1ca43
1 changed files with 4 additions and 3 deletions
|
@ -54,9 +54,9 @@ internal abstract class WebDavStorage(
|
||||||
.followRedirects(false)
|
.followRedirects(false)
|
||||||
.authenticator(authHandler)
|
.authenticator(authHandler)
|
||||||
.addNetworkInterceptor(authHandler)
|
.addNetworkInterceptor(authHandler)
|
||||||
.connectTimeout(15, TimeUnit.SECONDS)
|
.connectTimeout(30, TimeUnit.SECONDS)
|
||||||
.writeTimeout(30, TimeUnit.SECONDS)
|
.writeTimeout(60, TimeUnit.SECONDS)
|
||||||
.readTimeout(120, TimeUnit.SECONDS)
|
.readTimeout(240, TimeUnit.SECONDS)
|
||||||
.pingInterval(45, TimeUnit.SECONDS)
|
.pingInterval(45, TimeUnit.SECONDS)
|
||||||
.connectionSpecs(listOf(ConnectionSpec.MODERN_TLS))
|
.connectionSpecs(listOf(ConnectionSpec.MODERN_TLS))
|
||||||
.retryOnConnectionFailure(true)
|
.retryOnConnectionFailure(true)
|
||||||
|
@ -73,6 +73,7 @@ internal abstract class WebDavStorage(
|
||||||
val pipedOutputStream = PipedCloseActionOutputStream(pipedInputStream)
|
val pipedOutputStream = PipedCloseActionOutputStream(pipedInputStream)
|
||||||
|
|
||||||
val body = object : RequestBody() {
|
val body = object : RequestBody() {
|
||||||
|
override fun isOneShot(): Boolean = true
|
||||||
override fun contentType() = "application/octet-stream".toMediaType()
|
override fun contentType() = "application/octet-stream".toMediaType()
|
||||||
override fun writeTo(sink: BufferedSink) {
|
override fun writeTo(sink: BufferedSink) {
|
||||||
pipedInputStream.use { inputStream ->
|
pipedInputStream.use { inputStream ->
|
||||||
|
|
Loading…
Reference in a new issue