Merge pull request #6632 from stanley-cheung/php-add-trailing-metadata-api

PHP: add call getTrailingMetadata API
pull/6851/merge
Jan Tattermusch 9 years ago committed by GitHub
commit 6f42fd925f
  1. 10
      src/php/lib/Grpc/AbstractCall.php
  2. 1
      src/php/lib/Grpc/BidiStreamingCall.php
  3. 4
      src/php/lib/Grpc/ClientStreamingCall.php
  4. 1
      src/php/lib/Grpc/ServerStreamingCall.php
  5. 4
      src/php/lib/Grpc/UnaryCall.php

@ -39,6 +39,7 @@ abstract class AbstractCall
protected $call;
protected $deserialize;
protected $metadata;
protected $trailing_metadata;
/**
* Create a new Call wrapper object.
@ -66,6 +67,7 @@ abstract class AbstractCall
$this->call = new Call($channel, $method, $deadline);
$this->deserialize = $deserialize;
$this->metadata = null;
$this->trailing_metadata = null;
if (isset($options['call_credentials_callback']) &&
is_callable($call_credentials_callback =
$options['call_credentials_callback'])) {
@ -83,6 +85,14 @@ abstract class AbstractCall
return $this->metadata;
}
/**
* @return The trailing metadata sent by the server.
*/
public function getTrailingMetadata()
{
return $this->trailing_metadata;
}
/**
* @return string The URI of the endpoint.
*/

@ -112,6 +112,7 @@ class BidiStreamingCall extends AbstractCall
OP_RECV_STATUS_ON_CLIENT => true,
]);
$this->trailing_metadata = $status_event->status->metadata;
return $status_event->status;
}
}

@ -86,6 +86,8 @@ class ClientStreamingCall extends AbstractCall
]);
$this->metadata = $event->metadata;
return [$this->deserializeResponse($event->message), $event->status];
$status = $event->status;
$this->trailing_metadata = $status->metadata;
return [$this->deserializeResponse($event->message), $status];
}
}

@ -91,6 +91,7 @@ class ServerStreamingCall extends AbstractCall
OP_RECV_STATUS_ON_CLIENT => true,
]);
$this->trailing_metadata = $status_event->status->metadata;
return $status_event->status;
}
}

@ -75,6 +75,8 @@ class UnaryCall extends AbstractCall
OP_RECV_STATUS_ON_CLIENT => true,
]);
return [$this->deserializeResponse($event->message), $event->status];
$status = $event->status;
$this->trailing_metadata = $status->metadata;
return [$this->deserializeResponse($event->message), $status];
}
}

Loading…
Cancel
Save