@@ -74,7 +74,10 @@ def patch():
7474 _w ("flask" , "Flask.preprocess_request" , request_tracer ("preprocess_request" ))
7575 _w ("flask" , "Flask.add_url_rule" , traced_add_url_rule )
7676 _w ("flask" , "Flask.endpoint" , traced_endpoint )
77- _w ("flask" , "Flask._register_error_handler" , traced_register_error_handler )
77+ if flask_version >= (2 , 0 , 0 ):
78+ _w ("flask" , "Flask.register_error_handler" , traced_register_error_handler )
79+ else :
80+ _w ("flask" , "Flask._register_error_handler" , traced__register_error_handler )
7881
7982 # flask.blueprints.Blueprint methods that have custom tracing (add metadata, wrap functions, etc)
8083 _w ("flask" , "Blueprint.register" , traced_blueprint_register )
@@ -175,7 +178,6 @@ def unpatch():
175178 "Flask.dispatch_request" ,
176179 "Flask.add_url_rule" ,
177180 "Flask.endpoint" ,
178- "Flask._register_error_handler" ,
179181 "Flask.preprocess_request" ,
180182 "Flask.process_response" ,
181183 "Flask.handle_exception" ,
@@ -218,6 +220,11 @@ def unpatch():
218220 "templating._render" ,
219221 ]
220222
223+ if flask_version >= (2 , 0 , 0 ):
224+ props .append ("Flask.register_error_handler" )
225+ else :
226+ props .append ("Flask._register_error_handler" )
227+
221228 # These were added in 0.11.0
222229 if flask_version >= (0 , 11 ):
223230 props .append ("before_render_template.receivers_for" )
@@ -429,15 +436,24 @@ def _wrap(template, context, app):
429436 return _wrap (* args , ** kwargs )
430437
431438
432- def traced_register_error_handler (wrapped , instance , args , kwargs ):
433- """Wrapper to trace all functions registered with flask.app.register_error_handler """
439+ def traced__register_error_handler (wrapped , instance , args , kwargs ):
440+ """Wrapper to trace all functions registered with flask.app._register_error_handler """
434441
435442 def _wrap (key , code_or_exception , f ):
436443 return wrapped (key , code_or_exception , wrap_function (instance , f ))
437444
438445 return _wrap (* args , ** kwargs )
439446
440447
448+ def traced_register_error_handler (wrapped , instance , args , kwargs ):
449+ """Wrapper to trace all functions registered with flask.app.register_error_handler"""
450+
451+ def _wrap (code_or_exception , f ):
452+ return wrapped (code_or_exception , wrap_function (instance , f ))
453+
454+ return _wrap (* args , ** kwargs )
455+
456+
441457def request_tracer (name ):
442458 @with_instance_pin
443459 def _traced_request (pin , wrapped , instance , args , kwargs ):
0 commit comments