From 45990f6721004d97fbac5b02edcd119c515155d6 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 29 Sep 2024 20:45:06 +0100 Subject: [PATCH] Support catch all events (Fixes #2095) --- example/app.py | 9 ++++++++- example/templates/index.html | 4 ++-- src/flask_socketio/__init__.py | 6 ++++++ test_socketio.py | 36 ++++++++++++++++++++++++---------- 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/example/app.py b/example/app.py index 24c464e3..a28b6154 100644 --- a/example/app.py +++ b/example/app.py @@ -11,7 +11,7 @@ app = Flask(__name__) app.config['SECRET_KEY'] = 'secret!' -socketio = SocketIO(app, async_mode=async_mode) +socketio = SocketIO(app, async_mode=async_mode, logger=True, engineio_logger=True) thread = None thread_lock = Lock() @@ -81,6 +81,13 @@ def my_room_event(message): to=message['room']) +@socketio.on('*') +def catch_all(event, data): + session['receive_count'] = session.get('receive_count', 0) + 1 + emit('my_response', + {'data': [event, data], 'count': session['receive_count']}) + + @socketio.event def disconnect_request(): @copy_current_request_context diff --git a/example/templates/index.html b/example/templates/index.html index fa97cb37..011e23ce 100644 --- a/example/templates/index.html +++ b/example/templates/index.html @@ -3,7 +3,7 @@ Flask-SocketIO Test - +