public function call(Message $request, string $method, array $metadata = [], array $options = []): Response
    {
        $metadata = array_merge($this->buildAuthenticationMetadata(), $metadata);

        $interceptors = $this->interceptors;
        return $this->intercept($interceptors, $request, $method, $metadata, $options, function () use (
            &$interceptors,
            &$request,
            &$method,
            &$metadata,
            &$options
        ) {
            $strategy = $this->config->getStrategy();
            $request = new Request($this->config, $method, $request, $this->getClient(), $metadata, $options);
            return $strategy->execute($request);
        });
    }
public function call(Message $request, string $method, array $metadata = [], array $options = []): Response
    {
        $metadata = array_merge($this->buildAuthenticationMetadata(), $metadata);

        $interceptors = $this->interceptors;
        return $this->intercept($interceptors, $request, $method, $metadata, $options, function () use (
            &$interceptors,
            &$request,
            &$method,
            &$metadata,
            &$options
        ) {
            $strategy = $this->config->getStrategy();
            $request = new Request($this->config, $method, $request, $this->getClient(), $metadata, $options);
            return $strategy->execute($request);
        });
    }
public function call ( Message $ request , string $ method , array $ metadata = [ ] , array $ options = [ ] ) : Response { $ metadata = array_merge ( $ this -> buildAuthenticationMetadata ( ) , $ metadata ) ; $ interceptors = $ this -> interceptors ; return $ this -> intercept ( $ interceptors , $ request , $ method , $ metadata , $ options , function ( ) use ( & $ interceptors , & $ request , & $ method , & $ metadata , & $ options ) { $ strategy = $ this -> config -> getStrategy ( ) ; $ request = new Request ( $ this -> config , $ method , $ request , $ this -> getClient ( ) , $ metadata , $ options ) ; return $ strategy -> execute ( $ request ) ; } ) ; }
Issue the call to the server, wrapping with the given interceptors

@param Message $request
@param string $method
@param array $metadata
@param array $options
@return Response
Issue the call to the server wrapping with the given interceptors