Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions packages/faststream-stomp/faststream_stomp/registrator.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
from collections.abc import Iterable, Mapping, Sequence
from collections.abc import Iterable, Sequence
from typing import Any, cast

import stompman
from fast_depends.dependencies import Depends
from faststream.broker.core.abc import ABCBroker
from faststream.broker.types import CustomCallable, PublisherMiddleware, SubscriberMiddleware
from faststream.broker.utils import default_filter
from typing_extensions import override

from faststream_stomp.publisher import StompPublisher
from faststream_stomp.subscriber import StompSubscriber


class StompRegistrator(ABCBroker[stompman.MessageFrame]):
_subscribers: Mapping[int, StompSubscriber]
_publishers: Mapping[int, StompPublisher]

@override
def subscriber( # type: ignore[override]
self,
destination: str,
Expand Down Expand Up @@ -57,12 +56,13 @@ def subscriber( # type: ignore[override]
middlewares_=middlewares,
)

@override
def publisher( # type: ignore[override]
self,
destination: str,
*,
middlewares: Sequence[PublisherMiddleware] = (),
schema_: Any | None = None, # noqa: ANN401
schema_: Any | None = None,
title_: str | None = None,
description_: str | None = None,
include_in_schema: bool = True,
Expand Down
7 changes: 3 additions & 4 deletions packages/stompman/stompman/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def unescaped_passcode(self) -> str:
return unquote(self.passcode)

@classmethod
def from_pydantic_multihost_hosts(cls, hosts: list[MultiHostHostLike]) -> list[Self]: # noqa: C901
def from_pydantic_multihost_hosts(cls, hosts: list[MultiHostHostLike]) -> list[Self]:
"""Create connection parameters from `pydantic_code.MultiHostUrl.hosts()`.

.. code-block:: python
Expand Down Expand Up @@ -76,9 +76,8 @@ def from_pydantic_multihost_hosts(cls, hosts: list[MultiHostHostLike]) -> list[S
msg = "password is set, username must be set"
raise ValueError(msg)
elif password is None:
if username is not None:
msg = "username is set, password must be set"
raise ValueError(msg)
msg = "username is set, password must be set"
raise ValueError(msg)
else:
all_credentials.append((username, password))

Expand Down
2 changes: 1 addition & 1 deletion packages/stompman/stompman/subscription.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ async def _nack(self, frame: MessageFrame) -> None:
)

async def _ack(self, frame: MessageFrame) -> None:
if self._active_subscriptions.contains_by_id(self.id) and (ack_id := frame.headers["ack"]):
if self._active_subscriptions.contains_by_id(self.id) and (ack_id := frame.headers.get("ack")):
await self._connection_manager.maybe_write_frame(
AckFrame(headers={"id": ack_id, "subscription": frame.headers["subscription"]})
)
Expand Down