@@ -90,8 +90,14 @@ def request_middleware(api=None):
9090 """Registers a middleware function that will be called on every request"""
9191 def decorator (middleware_method ):
9292 apply_to_api = hug .API (api ) if api else hug .api .from_object (middleware_method )
93- middleware_method .__self__ = middleware_method
94- apply_to_api .http .add_middleware (namedtuple ('MiddlewareRouter' , ('process_request' , ))(middleware_method ))
93+
94+ class MiddlewareRouter (object ):
95+ __slots__ = ()
96+
97+ def process_request (self , request , response ):
98+ return middleware_method (request , response )
99+
100+ apply_to_api .http .add_middleware (MiddlewareRouter ())
95101 return middleware_method
96102 return decorator
97103
@@ -100,8 +106,14 @@ def response_middleware(api=None):
100106 """Registers a middleware function that will be called on every response"""
101107 def decorator (middleware_method ):
102108 apply_to_api = hug .API (api ) if api else hug .api .from_object (middleware_method )
103- middleware_method .__self__ = middleware_method
104- apply_to_api .http .add_middleware (namedtuple ('MiddlewareRouter' , ('process_response' , ))(middleware_method ))
109+
110+ class MiddlewareRouter (object ):
111+ __slots__ = ()
112+
113+ def process_response (self , request , response , resource ):
114+ return middleware_method (request , response , resource )
115+
116+ apply_to_api .http .add_middleware (MiddlewareRouter ())
105117 return middleware_method
106118 return decorator
107119
0 commit comments