v12.1.0
What's New?
CookieStore
The scamper.client.HttpClient
can be configured to use an instance of scamper.cookies.CookieStore
to automatically store cookies received in HTTP responses. The client can then use these cookies to automatically add the appropriate cookies to outgoing HTTP requests.
import scamper.{ BodyParser, HttpResponse }
import scamper.Implicits.stringToUri
import scamper.client.HttpClient
import scamper.cookies.CookieStore
import scamper.headers.Location
import scamper.types.Implicits.stringToContentCodingRange
def printResponse(res: HttpResponse): Unit = {
implicit val parser = BodyParser.text()
println(res.startLine)
res.headers.foreach(println)
println()
println(res.as[String])
}
// Create client from settings
val client = HttpClient.settings()
.acceptEncodings("gzip", "deflate")
.cookieStore(CookieStore()) // Add cookie store
.create()
client.get("https://tampabay.com/") { res =>
res.status.isRedirection match {
case true =>
// This request will automatically include
// cookies set in previous response
client.get(res.location)(printResponse)
case false => printResponse(res)
}
}