scamper.http.client
package scamper.http.client
Type members
Classlikes
class ClientSettings
Defines HTTP client settings.
Defines HTTP client settings.
ClientSettings
is a mutable structure. With each applied change, the
settings are modified and returned. After applying the desired settings, a
client is created using a factory method.
Default Settings
Key | Value |
---|---|
accept | * /* |
acceptEncodings | Nil |
bufferSize | 8192 |
readTimeout | 30000 |
continueTimeout | 1000 |
coookies | CookieStore.Null |
trust | (Not set) |
incoming | (Not set) |
outgoing | (Not set) |
- Constructor
Creates client settings.
trait HttpClient
Defines HTTP client.
Defines HTTP client.
A client can be created using the HttpClient companion object.
import scala.language.implicitConversions
import scamper.http.{ BodyParser, stringToUri }
import scamper.http.client.HttpClient
given BodyParser[String] = BodyParser.string()
// Create HttpClient instance
val client = HttpClient()
def getMessageOfTheDay(): Either[Int, String] =
// Use client instance
client.get("http://localhost:8080/motd") { res =>
res.isSuccessful match
case true => Right(res.as[String])
case false => Left(res.statusCode)
}
And, if a given client is in scope, you can make use of send()
on the
request itself.
import scala.language.implicitConversions
import scamper.http.{ BodyParser, stringToUri }
import scamper.http.RequestMethod.Registry.Get
import scamper.http.client.{ ClientHttpRequest, HttpClient }
import scamper.http.headers.{ Accept, AcceptLanguage }
import scamper.http.types.{ stringToMediaRange, stringToLanguageRange }
given HttpClient = HttpClient()
given BodyParser[String] = BodyParser.string(4096)
Get("http://localhost:8080/motd")
.setAccept("text/plain")
.setAcceptLanguage("en-US; q=0.6", "fr-CA; q=0.4")
.send(res => println(res.as[String])) // Send request using client
See also ClientSettings for information about configuring the HTTP client before it is created.
- Companion
- object
@FunctionalInterface
trait RequestFilter
Defines filter for outgoing request.
Defines filter for outgoing request.