@@ -1415,6 +1415,7 @@ class RateLimitError(Exception):
14151415 (Exception ("request was blocked by policy" ), "request_blocked" , "provider_blocked" ),
14161416 (Exception ("This request has been blocked by provider safety policy." ), "request_blocked" , "provider_blocked" ),
14171417 (Exception ("moderation_blocked" ), "request_blocked" , "provider_blocked" ),
1418+ (Exception ("Request was blocked by local firewall rule." ), "network_error" , "unknown_error" ),
14181419 (Exception ("LLM Provider NOT provided for model foo" ), "model_not_found" , "provider_prefix_mismatch" ),
14191420 ]
14201421
@@ -1504,6 +1505,12 @@ def test_discover_llm_channel_models_classifies_error_scenarios(self, mock_get)
15041505 blocked_response .json .return_value = {"error" : {"message" : "Your request was blocked." }}
15051506 blocked_by_policy_response = Mock (ok = False , status_code = 403 , text = "Request has been blocked by policy filter." )
15061507 blocked_by_policy_response .json .return_value = {"error" : {"message" : "Request has been blocked by policy filter." }}
1508+ blocked_by_firewall_response = Mock (
1509+ ok = False ,
1510+ status_code = 400 ,
1511+ text = "Request was blocked by local firewall policy." ,
1512+ )
1513+ blocked_by_firewall_response .json .return_value = {"error" : {"message" : "Request was blocked by local firewall policy." }}
15071514 invalid_json_response = Mock (ok = True , status_code = 200 , text = "<html>bad gateway</html>" )
15081515 invalid_json_response .json .side_effect = ValueError ("invalid json" )
15091516
@@ -1516,6 +1523,13 @@ def test_discover_llm_channel_models_classifies_error_scenarios(self, mock_get)
15161523 (rate_limit_response , "quota" , "model_discovery" , True , "rate_limit" ),
15171524 (blocked_response , "request_blocked" , "model_discovery" , False , "provider_blocked" ),
15181525 (blocked_by_policy_response , "request_blocked" , "model_discovery" , False , "provider_blocked" ),
1526+ (
1527+ blocked_by_firewall_response ,
1528+ "network_error" ,
1529+ "model_discovery" ,
1530+ False ,
1531+ "http_error" ,
1532+ ),
15191533 (invalid_json_response , "format_error" , "response_parse" , False , "non_json" ),
15201534 ]:
15211535 with self .subTest (error_code = error_code ):
0 commit comments