Bases: NatsBaseParser
A class to parse NATS JS messages.
Source code in faststream/nats/parser.py
| def __init__(
self,
*,
pattern: str,
) -> None:
path_re, _ = compile_nats_wildcard(pattern)
self._path_re = path_re
|
parse_message async
Source code in faststream/nats/parser.py
| async def parse_message(
self,
message: "Msg",
) -> "StreamMessage[Msg]":
path = match_path(self._path_re, message.subject)
headers = message.header or {}
return NatsMessage(
raw_message=message,
body=message.data,
path=path,
reply_to=headers.get("reply_to", ""), # differ from core
headers=headers,
content_type=headers.get("content-type"),
message_id=headers.get("message_id"),
correlation_id=headers.get("correlation_id"),
)
|
decode_message async
Source code in faststream/nats/parser.py
| async def decode_message(
self,
msg: "StreamMessage[Any]",
) -> "DecodedMessage":
return decode_message(msg)
|