send abstract method
Send request and resolve to a GatewayTransportResponse
when the network call completes. Implementations should
throw a TimeoutException or GatewayTransportError
only for transport-level failures (DNS, TCP reset, TLS
handshake, request timeout). HTTP errors (4xx / 5xx) are
returned as a normal response with the appropriate
statusCode.
Implementation
Future<GatewayTransportResponse> send(GatewayTransportRequest request);