Fixed unused kwargs in reflex.App (#3170)

This commit is contained in:
Angelina Sheyko 2024-04-30 03:53:27 +07:00 committed by GitHub
parent 3564df7620
commit 4b6a7ff8e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -116,9 +116,6 @@ class App(Base):
# The Socket.IO AsyncServer.
sio: Optional[AsyncServer] = None
# The socket app.
socket_app: Optional[ASGIApp] = None
# The state class to use for the app.
state: Optional[Type[BaseState]] = None
@ -213,7 +210,11 @@ class App(Base):
self.setup_state()
def setup_state(self) -> None:
"""Set up the state for the app."""
"""Set up the state for the app.
Raises:
RuntimeError: If custom `sio` does not use `async_mode='asgi'`.
"""
if not self.state:
return
@ -223,21 +224,27 @@ class App(Base):
self._state_manager = StateManager.create(state=self.state)
# Set up the Socket.IO AsyncServer.
self.sio = AsyncServer(
async_mode="asgi",
cors_allowed_origins=(
"*"
if config.cors_allowed_origins == ["*"]
else config.cors_allowed_origins
),
cors_credentials=True,
max_http_buffer_size=constants.POLLING_MAX_HTTP_BUFFER_SIZE,
ping_interval=constants.Ping.INTERVAL,
ping_timeout=constants.Ping.TIMEOUT,
)
if not self.sio:
self.sio = AsyncServer(
async_mode="asgi",
cors_allowed_origins=(
"*"
if config.cors_allowed_origins == ["*"]
else config.cors_allowed_origins
),
cors_credentials=True,
max_http_buffer_size=constants.POLLING_MAX_HTTP_BUFFER_SIZE,
ping_interval=constants.Ping.INTERVAL,
ping_timeout=constants.Ping.TIMEOUT,
)
elif getattr(self.sio, "async_mode", "") != "asgi":
raise RuntimeError(
f"Custom `sio` must use `async_mode='asgi'`, not '{self.sio.async_mode}'."
)
# Create the socket app. Note event endpoint constant replaces the default 'socket.io' path.
self.socket_app = ASGIApp(self.sio, socketio_path="")
socket_app = ASGIApp(self.sio, socketio_path="")
namespace = config.get_event_namespace()
# Create the event namespace and attach the main app. Not related to any paths.
@ -246,7 +253,7 @@ class App(Base):
# Register the event namespace with the socket.
self.sio.register_namespace(self.event_namespace)
# Mount the socket app with the API.
self.api.mount(str(constants.Endpoint.EVENT), self.socket_app)
self.api.mount(str(constants.Endpoint.EVENT), socket_app)
def __repr__(self) -> str:
"""Get the string representation of the app.