Exemplo n.º 1
0
    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 {}
Exemplo n.º 2
0
async def call_handler(mapping, stream, headers):
    await request_handler(mapping, stream, headers, ProtoCodec(), None,
                          _DispatchServerEvents(), release_stream)