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
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)))