Hprose\Swoole\Http\Transporter::send PHP Method

send() public method

public send ( $request, $future, $context, $conn )
    public function send($request, $future, $context, $conn)
    {
        $self = $this;
        $timeout = $context->timeout;
        if ($timeout > 0) {
            $conn->timeoutId = swoole_timer_after($timeout, function () use($self, $future, $conn) {
                $future->reject(new TimeoutException('timeout'));
                if ($conn->isConnected()) {
                    $conn->close();
                }
            });
        }
        $conn->setCookies($this->cookies);
        $conn->post($this->client->path, $request, function ($conn) use($self, $future) {
            $self->cookies = $conn->cookies;
            if ($conn->errCode === 0) {
                if ($conn->statusCode == 200) {
                    $future->resolve($conn->body);
                } else {
                    $future->reject(new Exception($conn->body));
                }
            } else {
                $future->reject(new Exception(socket_strerror($conn->errCode)));
            }
            $self->sendNext($conn);
        });
    }