aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authoradamw <adam@warski.org>2017-09-22 16:26:56 +0200
committeradamw <adam@warski.org>2017-09-22 16:26:56 +0200
commit77dfc7bfa577ab72d2325efcad813f6a165a4c36 (patch)
treec387a9fdb268172939620230e0f75e96f4a893d6 /core
parent70b859bc8fe67dd9234109fe5176c0f9ead564bb (diff)
downloadsttp-77dfc7bfa577ab72d2325efcad813f6a165a4c36.tar.gz
sttp-77dfc7bfa577ab72d2325efcad813f6a165a4c36.tar.bz2
sttp-77dfc7bfa577ab72d2325efcad813f6a165a4c36.zip
#11, #35: SSL docs, more options for customizing delegated client calls
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/HttpURLConnectionBackend.scala16
1 files changed, 11 insertions, 5 deletions
diff --git a/core/src/main/scala/com/softwaremill/sttp/HttpURLConnectionBackend.scala b/core/src/main/scala/com/softwaremill/sttp/HttpURLConnectionBackend.scala
index 2dbb13d..62ef2bc 100644
--- a/core/src/main/scala/com/softwaremill/sttp/HttpURLConnectionBackend.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/HttpURLConnectionBackend.scala
@@ -13,7 +13,9 @@ import scala.io.Source
import scala.collection.JavaConverters._
import scala.concurrent.duration.{Duration, FiniteDuration}
-class HttpURLConnectionBackend private (connectionTimeout: FiniteDuration)
+class HttpURLConnectionBackend private (
+ connectionTimeout: FiniteDuration,
+ customizeConnection: HttpURLConnection => Unit)
extends SttpBackend[Id, Nothing] {
override def send[T](r: Request[T, Nothing]): Response[T] = {
val c =
@@ -27,6 +29,8 @@ class HttpURLConnectionBackend private (connectionTimeout: FiniteDuration)
// redirects are handled by FollowRedirectsBackend
c.setInstanceFollowRedirects(false)
+ customizeConnection(c)
+
if (r.body != NoBody) {
c.setDoOutput(true)
// we need to take care to:
@@ -258,9 +262,11 @@ class HttpURLConnectionBackend private (connectionTimeout: FiniteDuration)
object HttpURLConnectionBackend {
- def apply(
- connectionTimeout: FiniteDuration = SttpBackend.DefaultConnectionTimeout)
- : SttpBackend[Id, Nothing] =
+ def apply(connectionTimeout: FiniteDuration =
+ SttpBackend.DefaultConnectionTimeout,
+ customizeConnection: HttpURLConnection => Unit = { _ =>
+ ()
+ }): SttpBackend[Id, Nothing] =
new FollowRedirectsBackend[Id, Nothing](
- new HttpURLConnectionBackend(connectionTimeout))
+ new HttpURLConnectionBackend(connectionTimeout, customizeConnection))
}