diff --git a/panini/middleware/debug_middleware.py b/panini/middleware/debug_middleware.py index 3880119..2cdc7dd 100644 --- a/panini/middleware/debug_middleware.py +++ b/panini/middleware/debug_middleware.py @@ -1,3 +1,5 @@ +import asyncio + from panini.middleware import Middleware from panini.utils.logger import get_logger @@ -32,10 +34,16 @@ async def send_any(self, subject: str, message, send_func, *args, **kwargs): async def listen_any(self, msg, callback): if not self.use_listen_any: - return await callback(msg) + if asyncio.iscoroutinefunction(callback): + return await callback(msg) + else: + return callback(msg) self._log(f"Listen to {msg.subject} with payload {msg.data}") - response = await callback(msg) + if asyncio.iscoroutinefunction(callback): + response = await callback(msg) + else: + response = callback(msg) if response is not None: self._log(f"Answered to it: {response}")