Tuesday, September 17, 2013

HTTPS client with Finagle: short reference

It wasn't obvious for me how to make HTTPS calls with Finagle so I'd like to share key points here:
  • When building client: explicitly specify correct port (typically 443 instead of 80)
  • When building client: enable TLS using ClientBuilder.tls(...) or ClientBuilder.tlsWithoutValidation() method
  • When making actual call: specify HTTPS protocol in requested URL
In practice you'll get something like this:
 val client = ClientBuilder()
      .codec(Http())
      .hosts("yourServer:443")
      .tls("yourServer")
      .build()

val httpRequest = RequestBuilder().url("https://yourServer/somePath").buildGet
val responseFuture = client(httpRequest)
//handle result
For more details about Finagle itself refer to official documentation:

No comments:

Post a Comment