Fix args format in dynamic route (#502)
This commit is contained in:
parent
104130df6b
commit
1479411c4f
@ -357,11 +357,14 @@ async def process(
|
||||
# Get the state for the session.
|
||||
state = app.state_manager.get_state(event.token)
|
||||
|
||||
formatted_params = utils.format_query_params(event.router_data)
|
||||
|
||||
# Pass router_data to the state of the App.
|
||||
state.router_data = event.router_data
|
||||
# also pass router_data to all substates
|
||||
for _, substate in state.substates.items():
|
||||
substate.router_data = event.router_data
|
||||
state.router_data[constants.RouteVar.QUERY] = formatted_params
|
||||
state.router_data[constants.RouteVar.CLIENT_TOKEN] = event.token
|
||||
state.router_data[constants.RouteVar.SESSION_ID] = sid
|
||||
state.router_data[constants.RouteVar.HEADERS] = headers
|
||||
|
@ -1101,6 +1101,19 @@ def format_event(event_spec: EventSpec) -> str:
|
||||
return f"E(\"{format_event_handler(event_spec.handler)}\", {wrap(args, '{')})"
|
||||
|
||||
|
||||
def format_query_params(router_data: Dict[str, Any]) -> Dict[str, str]:
|
||||
"""Convert back query params name to python-friendly case.
|
||||
|
||||
Args:
|
||||
router_data: the router_data dict containing the query params
|
||||
|
||||
Returns:
|
||||
The reformatted query params
|
||||
"""
|
||||
params = router_data[constants.RouteVar.QUERY]
|
||||
return {k.replace("-", "_"): v for k, v in params.items()}
|
||||
|
||||
|
||||
USED_VARIABLES = set()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user