@@ -188,19 +188,22 @@ def _teardown_request(exc):
188
188
class _InstrumentedFlask (flask .Flask ):
189
189
190
190
_tracer_provider = None
191
-
191
+ _request_hook = None
192
+ _response_hook = None
193
+
192
194
def __init__ (self , * args , ** kwargs ):
193
195
super ().__init__ (* args , ** kwargs )
194
196
195
197
self ._original_wsgi_ = self .wsgi_app
196
- self .wsgi_app = _rewrapped_app (self .wsgi_app , _InstrumentedFlask .response_hook )
198
+
199
+ self .wsgi_app = _rewrapped_app (self .wsgi_app , _InstrumentedFlask ._response_hook )
197
200
198
201
tracer = trace .get_tracer (
199
202
__name__ , __version__ , _InstrumentedFlask ._tracer_provider
200
203
)
201
204
202
205
_before_request = _wrapped_before_request (
203
- _InstrumentedFlask .request_hook , tracer ,
206
+ _InstrumentedFlask ._request_hook , tracer ,
204
207
)
205
208
self ._before_request = _before_request
206
209
self .before_request (_before_request )
@@ -217,8 +220,10 @@ def _instrument(self, **kwargs):
217
220
self ._original_flask = flask .Flask
218
221
request_hook = kwargs .get ("request_hook" )
219
222
response_hook = kwargs .get ("response_hook" )
220
- _InstrumentedFlask .request_hook = request_hook
221
- _InstrumentedFlask .response_hook = response_hook
223
+ if callable (request_hook ):
224
+ _InstrumentedFlask ._request_hook = request_hook
225
+ if callable (response_hook ):
226
+ _InstrumentedFlask ._response_hook = response_hook
222
227
flask .Flask = _InstrumentedFlask
223
228
tracer_provider = kwargs .get ("tracer_provider" )
224
229
_InstrumentedFlask ._tracer_provider = tracer_provider
0 commit comments