Skip to content

Commit 74e52ef

Browse files
Merge pull request #22 from scala-exercises/jp-fix-eval-client-api-params
JP - Evaluator client Apply with timeouts parameters
2 parents afc8738 + 16b8422 commit 74e52ef

File tree

5 files changed

+16
-10
lines changed

5 files changed

+16
-10
lines changed

client/src/main/scala/org/scalaexercises/evaluator/EvaluatorClient.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,11 @@ class EvaluatorClient(url: String,
2424

2525
object EvaluatorClient {
2626

27-
def apply(url: String, authKey: String) = new EvaluatorClient(url, authKey)
27+
def apply(url: String,
28+
authKey: String,
29+
connTimeout: Duration = 1.second,
30+
readTimeout: Duration = 10.seconds) =
31+
new EvaluatorClient(url, authKey, connTimeout, readTimeout)
2832

2933
implicit class EvaluationIOSyntaxXOR[A](
3034
evalIO: EvalIO[EvaluationResponse[A]]) {

client/src/main/scala/org/scalaexercises/evaluator/api/Evaluator.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ class Evaluator {
2727
dependencies: List[Dependency] = Nil,
2828
code: String): EvaluationResponse[EvalResponse] =
2929
httpClient.post[EvalResponse](
30-
url,
31-
authKey,
30+
url = url,
31+
secretKey = authKey,
32+
connTimeout = connTimeout,
33+
readTimeout = readTimeout,
3234
data = EvalRequest(resolvers, dependencies, code).asJson.noSpaces)
3335

3436
}

client/src/main/scala/org/scalaexercises/evaluator/free/algebra/EvaluatorOps.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import scala.concurrent.duration.Duration
1515
sealed trait EvaluatorOp[A]
1616
final case class Evaluates(url: String,
1717
authKey: String,
18-
connTimeout: Duration = 1.second,
19-
readTimeout: Duration = 10.seconds,
18+
connTimeout: Duration,
19+
readTimeout: Duration,
2020
resolvers: List[String] = Nil,
2121
dependencies: List[Dependency] = Nil,
2222
code: String)
@@ -27,8 +27,8 @@ class EvaluatorOps[F[_]](implicit I: Inject[EvaluatorOp, F]) {
2727
def evaluates(
2828
url: String,
2929
authKey: String,
30-
connTimeout: Duration = 1.second,
31-
readTimeout: Duration = 10.seconds,
30+
connTimeout: Duration,
31+
readTimeout: Duration,
3232
resolvers: List[String] = Nil,
3333
dependencies: List[Dependency] = Nil,
3434
code: String

client/src/main/scala/org/scalaexercises/evaluator/http/HttpClient.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class HttpClient {
2626
url: String,
2727
secretKey: String,
2828
method: String = "post",
29-
connTimeout: Duration = 1.second,
30-
readTimeout: Duration = 10.seconds,
29+
connTimeout: Duration,
30+
readTimeout: Duration,
3131
headers: Headers = Map.empty,
3232
data: String
3333
)(implicit D: Decoder[A]): EvaluationResponse[A] =

client/src/main/scala/org/scalaexercises/evaluator/http/HttpRequestBuilder.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ case class HttpRequestBuilder(
3030
body
3131
.fold(request)(
3232
request
33-
.postData(_)
3433
.option(HttpOptions.connTimeout(connTimeout.toMillis.toInt))
3534
.option(HttpOptions.readTimeout(readTimeout.toMillis.toInt))
35+
.postData(_)
3636
.header("content-type", "application/json"))
3737
.asString
3838
}

0 commit comments

Comments
 (0)