Skip to content

Commit

Permalink
Merge pull request #22 from scala-exercises/jp-fix-eval-client-api-pa…
Browse files Browse the repository at this point in the history
…rams

JP - Evaluator client Apply with timeouts parameters
  • Loading branch information
juanpedromoreno committed Aug 12, 2016
2 parents afc8738 + 16b8422 commit 74e52ef
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ class EvaluatorClient(url: String,

object EvaluatorClient {

def apply(url: String, authKey: String) = new EvaluatorClient(url, authKey)
def apply(url: String,
authKey: String,
connTimeout: Duration = 1.second,
readTimeout: Duration = 10.seconds) =
new EvaluatorClient(url, authKey, connTimeout, readTimeout)

implicit class EvaluationIOSyntaxXOR[A](
evalIO: EvalIO[EvaluationResponse[A]]) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ class Evaluator {
dependencies: List[Dependency] = Nil,
code: String): EvaluationResponse[EvalResponse] =
httpClient.post[EvalResponse](
url,
authKey,
url = url,
secretKey = authKey,
connTimeout = connTimeout,
readTimeout = readTimeout,
data = EvalRequest(resolvers, dependencies, code).asJson.noSpaces)

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import scala.concurrent.duration.Duration
sealed trait EvaluatorOp[A]
final case class Evaluates(url: String,
authKey: String,
connTimeout: Duration = 1.second,
readTimeout: Duration = 10.seconds,
connTimeout: Duration,
readTimeout: Duration,
resolvers: List[String] = Nil,
dependencies: List[Dependency] = Nil,
code: String)
Expand All @@ -27,8 +27,8 @@ class EvaluatorOps[F[_]](implicit I: Inject[EvaluatorOp, F]) {
def evaluates(
url: String,
authKey: String,
connTimeout: Duration = 1.second,
readTimeout: Duration = 10.seconds,
connTimeout: Duration,
readTimeout: Duration,
resolvers: List[String] = Nil,
dependencies: List[Dependency] = Nil,
code: String
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ class HttpClient {
url: String,
secretKey: String,
method: String = "post",
connTimeout: Duration = 1.second,
readTimeout: Duration = 10.seconds,
connTimeout: Duration,
readTimeout: Duration,
headers: Headers = Map.empty,
data: String
)(implicit D: Decoder[A]): EvaluationResponse[A] =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ case class HttpRequestBuilder(
body
.fold(request)(
request
.postData(_)
.option(HttpOptions.connTimeout(connTimeout.toMillis.toInt))
.option(HttpOptions.readTimeout(readTimeout.toMillis.toInt))
.postData(_)
.header("content-type", "application/json"))
.asString
}
Expand Down

0 comments on commit 74e52ef

Please sign in to comment.