class documentation
A container for a value encoded in an underlying stream.
It is used to stream inputs and outputs in the various client and server APIs.
Warning
This API is experimental and may change in the future.
Example
# Creating a LazyValue from raw data lazy_input = LazyValue( serializer=my_serializer, headers={"content-type": "application/json"}, stream=async_data_stream ) # Using LazyValue with Handler.start_operation handler = nexusrpc.handler.Handler([my_service]) result = await handler.start_operation(ctx, lazy_input) # Consuming a LazyValue directly deserialized_data = await lazy_input.consume(as_type=MyInputType)
| Method | __init__ |
No summary |
| Async Method | consume |
Consume the underlying reader stream, deserializing via the embedded serializer. |
| Instance Variable | headers |
Undocumented |
| Instance Variable | serializer |
Undocumented |
| Instance Variable | stream |
Undocumented |
def __init__(self, serializer:
Serializer, headers: Mapping[ str, str], stream: AsyncIterable[ bytes] | None = None):
¶
| Parameters | |
serializer:Serializer | The serializer to use for consuming the value. |
headers:Mapping[ | Headers that include information on how to process the stream's content. Headers constructed by the framework always have lower case keys. User provided keys are treated case-insensitively. |
stream:AsyncIterable[ | AsyncIterable of bytes that contains request or response data. None means empty data. |
overrides
nexusrpc.LazyValueT.consumeConsume the underlying reader stream, deserializing via the embedded serializer.