def client.ask

ezmcp@0.1.0.0 · src/io.bend:415

import ezmcp@0.1.0.0/src/io.bend as Io
import Base
import emerging-ezjson@1.2.0.0/main.bend as Json
import emerging-ezjson@1.2.0.0/src/value.bend as Value
import emerging-ezhttp@0.21.0.0/main.bend as Ez
import emerging-ezhttp@0.21.0.0/src/client.bend as EzClient
import ezmcp@0.1.0.0/src/rpc.bend as Rpc
import ezmcp@0.1.0.0/src/client.bend as Client

415# POST one request and read its reply
416def client.ask(
417  url: String,
418  version: String,
419  timeout_ms: U32,
420  msg: Value.Json
421) -> IO(Rpc.Reply):
422  IO.bind(EzClient.Response, Rpc.Reply,
423    Ez.http.post_opts(url, Client.headers(version), Ez.text_body(Json.print(msg)),
424      timeout_ms),
425    r => IO.pure(Rpc.Reply, client.took(r)))

Uses (13)

Used by (1)