File tree Expand file tree Collapse file tree 5 files changed +58
-24
lines changed Expand file tree Collapse file tree 5 files changed +58
-24
lines changed Original file line number Diff line number Diff line change @@ -511,15 +511,18 @@ def middleware_next():
511511 # This should not be an intentional handling in usual use cases.
512512 resp = BoltResponse (status = 404 , body = {"error" : "no next() calls in middleware" })
513513 if self ._raise_error_for_unhandled_request is True :
514- self . _listener_runner . listener_error_handler . handle (
515- error = BoltUnhandledRequestError (
514+ try :
515+ raise BoltUnhandledRequestError (
516516 request = req ,
517517 current_response = resp ,
518518 last_global_middleware_name = middleware .name ,
519- ),
520- request = req ,
521- response = resp ,
522- )
519+ )
520+ except BoltUnhandledRequestError as e :
521+ self ._listener_runner .listener_error_handler .handle (
522+ error = e ,
523+ request = req ,
524+ response = resp ,
525+ )
523526 return resp
524527 self ._framework_logger .warning (warning_unhandled_by_global_middleware (middleware .name , req ))
525528 return resp
@@ -562,14 +565,17 @@ def middleware_next():
562565 if resp is None :
563566 resp = BoltResponse (status = 404 , body = {"error" : "unhandled request" })
564567 if self ._raise_error_for_unhandled_request is True :
565- self . _listener_runner . listener_error_handler . handle (
566- error = BoltUnhandledRequestError (
568+ try :
569+ raise BoltUnhandledRequestError (
567570 request = req ,
568571 current_response = resp ,
569- ),
570- request = req ,
571- response = resp ,
572- )
572+ )
573+ except BoltUnhandledRequestError as e :
574+ self ._listener_runner .listener_error_handler .handle (
575+ error = e ,
576+ request = req ,
577+ response = resp ,
578+ )
573579 return resp
574580 return self ._handle_unmatched_requests (req , resp )
575581 except Exception as error :
Original file line number Diff line number Diff line change @@ -535,15 +535,18 @@ async def async_middleware_next():
535535 # This should not be an intentional handling in usual use cases.
536536 resp = BoltResponse (status = 404 , body = {"error" : "no next() calls in middleware" })
537537 if self ._raise_error_for_unhandled_request is True :
538- await self . _async_listener_runner . listener_error_handler . handle (
539- error = BoltUnhandledRequestError (
538+ try :
539+ raise BoltUnhandledRequestError (
540540 request = req ,
541541 current_response = resp ,
542542 last_global_middleware_name = middleware .name ,
543- ),
544- request = req ,
545- response = resp ,
546- )
543+ )
544+ except BoltUnhandledRequestError as e :
545+ await self ._async_listener_runner .listener_error_handler .handle (
546+ error = e ,
547+ request = req ,
548+ response = resp ,
549+ )
547550 return resp
548551 self ._framework_logger .warning (warning_unhandled_by_global_middleware (middleware .name , req ))
549552 return resp
@@ -589,14 +592,17 @@ async def async_middleware_next():
589592 if resp is None :
590593 resp = BoltResponse (status = 404 , body = {"error" : "unhandled request" })
591594 if self ._raise_error_for_unhandled_request is True :
592- await self . _async_listener_runner . listener_error_handler . handle (
593- error = BoltUnhandledRequestError (
595+ try :
596+ raise BoltUnhandledRequestError (
594597 request = req ,
595598 current_response = resp ,
596- ),
597- request = req ,
598- response = resp ,
599- )
599+ )
600+ except BoltUnhandledRequestError as e :
601+ await self ._async_listener_runner .listener_error_handler .handle (
602+ error = e ,
603+ request = req ,
604+ response = resp ,
605+ )
600606 return resp
601607 return self ._handle_unmatched_requests (req , resp )
602608
Original file line number Diff line number Diff line change @@ -23,3 +23,6 @@ def __init__( # type: ignore
2323 self .body = request .body if request is not None else {}
2424 self .current_response = current_response
2525 self .last_global_middleware_name = last_global_middleware_name
26+
27+ def __str__ (self ) -> str :
28+ return "unhandled request error"
Original file line number Diff line number Diff line change 1+ from slack_bolt import BoltRequest
2+ from slack_bolt .error import BoltUnhandledRequestError
3+
4+
5+ class TestErrors :
6+ def setup_method (self ):
7+ pass
8+
9+ def teardown_method (self ):
10+ pass
11+
12+ def test_say (self ):
13+ request = BoltRequest (body = "foo=bar" )
14+ exception = BoltUnhandledRequestError (
15+ request = request ,
16+ current_response = {},
17+ last_global_middleware_name = "last_middleware" ,
18+ )
19+ assert str (exception ) == "unhandled request error"
You can’t perform that action at this time.
0 commit comments