All Downloads are FREE. Search and download functionalities are using the official Maven repository.

calaxb_2.13.1.12.1.source-code.httpclients_dispatch0122.scala.template Maven / Gradle / Ivy

Go to download

scalaxb is an XML data-binding tool for Scala that supports W3C XML Schema (xsd) and wsdl.

The newest version!
package scalaxb

import scala.concurrent._, duration._

trait DispatchHttpClients extends HttpClients {
  lazy val httpClient = new DispatchHttpClient {}
  def requestTimeout: Duration = 60.seconds
  def connectionTimeout: Duration = 5.seconds

  trait DispatchHttpClient extends HttpClient {
    import dispatch._, Defaults._

    // Keep it lazy. See https://github.com/eed3si9n/scalaxb/pull/279
    lazy val http = Http.closeAndConfigure(_.
      setRequestTimeout(requestTimeout.toMillis.toInt).
      setConnectTimeout(connectionTimeout.toMillis.toInt))

    def request(in: String, address: java.net.URI, headers: Map[String, String]): String = {
      val req = url(address.toString).setBodyEncoding("UTF-8") <:< headers << in
      val s = http(req > as.String)
      s()
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy