Dispatch requests are defined using the RequestBuilder class of the underlying library. Everything that can be expressed with Dispatch’s builders and “verbs” can be performed directly on that lower level interface.
Request definitions are initialized with a URL or domain name.
url belongs to the
dispatch package. It is typically
imported by wildcard. If it becomes shadowed by a local
you can always refer to it as
val myRequest = url("http://example.com/some/path")
With this builder it is up to the application to construct valid URLs.
To dynamically build up requests, Dispatch provides a number of builders and verbs (symbolic methods). First, you need a host.
val myHost = host("example.com")
A port can be specified as a second parameter.
val myHost = host("example.com", 8888)
When no port is specified, the protocol default is used.
When using the host builder, the
secure method specifies that the
HTTPS must be used for the request.
val mySecureHost = host("example.com").secure
Path elements may be added to requests with the
val myRequest = myHost / "some" / "path"
Each added element is URL-encoded, so that spaces and non-ASCII
letters may be added freely. A forward-slash will also be encoded such
that it does not serve as a path-separator; the
/ method is for
appending single path elements.