gaato/http Transport over moonbitlang/async. Native, JS, and moonrun Wasm targets.
Dependencies
pub struct AsyncClock {
}impl Clock for AsyncClocktest {
let _ = @adapter.AsyncClock::new()
}pub struct AsyncTransport {
// private fields
}impl Transport for AsyncTransportasync fn send_stream(self : AsyncTransport, request : Request) -> (ResponseHead, &BodyStream) raise HttpErrortest {
let transport = @adapter.AsyncTransport::new()
transport.close()
assert_eq(transport.idle_connections(), 0)
}fn AsyncTransport::new(timeout_ms? : Int, connect_timeout_ms? : Int, write_timeout_ms? : Int, read_timeout_ms? : Int, pool_timeout_ms? : Int, max_connections? : Int, max_connections_per_origin? : Int, max_idle_per_origin? : Int, idle_max_ms? : Int, max_body_bytes? : Int, proxy? : String, trust_env? : Bool) -> AsyncTransporttest {
let _ = @adapter.AsyncTransport::new(timeout_ms=1000)
let _ = @adapter.AsyncTransport::new(
connect_timeout_ms=5000,
read_timeout_ms=60000,
)
let _ = @adapter.AsyncTransport::new(max_connections_per_origin=8)
let _ = @adapter.AsyncTransport::new(max_idle_per_origin=0)
let _ = @adapter.AsyncTransport::new(max_body_bytes=1_048_576)
let _ = @adapter.AsyncTransport::new(proxy="http://user:pass@proxy:3128")
let _ = @adapter.AsyncTransport::new(trust_env=false)
}async fn AsyncTransport::send_stream(self : AsyncTransport, request : Request) -> (ResponseHead, &BodyStream) raise HttpErrorpub struct DeadlineTransport {
// private fields
}impl Transport for DeadlineTransportasync fn send_stream(self : DeadlineTransport, request : Request) -> (ResponseHead, &BodyStream) raise HttpErrorasync fn DeadlineTransport::send(self : DeadlineTransport, request : Request) -> Response raise HttpErrorasync fn DeadlineTransport::send_stream(self : DeadlineTransport, request : Request) -> (ResponseHead, &BodyStream) raise HttpErrorpub struct SemaphoreGate {
// private fields
}impl Gate for SemaphoreGateasync test {
let clock = @adapter.AsyncClock::new()
assert_eq(@adapter.with_timeout_opt(clock, 1000, () => 7), Some(7))
}Install
Download zipgaato/http Transport over moonbitlang/async. Native, JS, and moonrun Wasm targets.
Dependencies