Http

io.eezo.http.client.Http
See theHttp companion object
final class Http(timeout: Duration)

The outbound HTTP client: direct style on the JDK's own HttpClient, so eezo's runtime classpath stays Jetty and the Postgres driver and nothing else. A blocking send on a virtual thread parks rather than pins, which is why there is no async variant here — the live layer's Async[S] supplies the thread, and everything else calls from wherever it already is.

Redirects follow the JDK's NORMAL policy: followed, never from HTTPS down to HTTP, and the JDK strips Authorization when a redirect changes origin. A body is either text the caller has already written, sent under the type the caller names, or a Content an encoder made, which carries its own type so the two cannot disagree. A JSON encoder belongs to the future public derives Json design, not here (design/live.md M6).

Attributes

Companion
object
Source
Http.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def delete(url: String, headers: (String, String)*): Reply

Attributes

Source
Http.scala
def get(url: String, headers: (String, String)*): Reply

Attributes

Source
Http.scala
def post(url: String, body: String, contentType: String, headers: (String, String)*): Reply

Attributes

Source
Http.scala
def post(url: String, content: Content, headers: (String, String)*): Reply

Attributes

Source
Http.scala
def put(url: String, body: String, contentType: String, headers: (String, String)*): Reply

Attributes

Source
Http.scala