def __init__(self, *, loop, server_conn=None, recv_type=None, send_type=None, path='/foo/bar', content_type='application/grpc+proto', codec=ProtoCodec(), deadline=None, metadata=None): self.server_conn = server_conn or ServerConn(loop=loop) self.stream_id = ( self.server_conn.client_h2c.get_next_available_stream_id()) self.server_conn.client_h2c.send_headers(self.stream_id, [ (':method', 'POST'), (':scheme', 'http'), (':path', path), (':authority', 'test.com'), ('te', 'trailers'), ('content-type', content_type), ]) self.server_conn.client_flush() self.server_h2s = self.server_conn.server_proto.processor.handler.stream assert self.server_h2s self.server_stream = server.Stream( self.server_h2s, path, Cardinality.UNARY_UNARY, recv_type, send_type, codec=codec, status_details_codec=None, dispatch=_DispatchServerEvents(), deadline=deadline, ) self.server_stream.metadata = metadata or {}
async def call_handler(mapping, stream, headers): await request_handler(mapping, stream, headers, ProtoCodec(), None, _DispatchServerEvents(), release_stream)