Files
dify-plugin-sdks/python/dify_plugin/errors/trigger.py
T
Yeuoly 76d1820205 feat: introduce UnsubscribeError for improved error handling in GitHub provider
- Added UnsubscribeError class to handle errors during unsubscribe operations, providing detailed error messages and codes.
- Updated GithubProvider to raise UnsubscribeError in various failure scenarios, enhancing error reporting and debugging.
- Minor adjustments in the IssuesTrigger class to prepare for future enhancements.

These changes improve the robustness of the GitHub trigger integration by ensuring clearer error management during webhook unsubscription processes.
2025-09-26 20:15:04 +08:00

97 lines
2.3 KiB
Python

"""
Exceptions for trigger-related operations
"""
class TriggerError(Exception):
"""Base exception for all trigger-related errors"""
pass
class SubscriptionError(TriggerError):
"""
Raised when trigger subscription operations fail.
This exception is raised for various subscription failures:
- Invalid credentials or authentication failures
- Network errors when contacting external services
- Invalid subscription parameters
- External service API errors (rate limits, service unavailable, etc.)
"""
def __init__(self, message: str, error_code: str | None = None, external_response: dict | None = None):
"""
Initialize SubscriptionError with detailed information.
Args:
message: Human-readable error description
error_code: Machine-readable error code for categorization
external_response: Raw response from external service (if available)
"""
super().__init__(message)
self.error_code = error_code
self.external_response = external_response
class UnsubscribeError(TriggerError):
"""
Raised when trigger unsubscribe operations fail.
"""
def __init__(self, message: str, error_code: str | None = None, external_response: dict | None = None):
"""
Initialize UnsubscribeError with detailed information.
"""
super().__init__(message)
self.error_code = error_code
self.external_response = external_response
class TriggerValidationError(TriggerError):
"""
Raised when webhook signature validation fails.
This indicates potential security issues where the webhook
request cannot be verified as coming from the expected source.
"""
pass
class TriggerProviderCredentialValidationError(TriggerError):
"""
Raised when trigger provider credential validation fails.
"""
pass
class TriggerDispatchError(TriggerError):
"""
Raised when event dispatching fails.
This can occur when:
- Event payload cannot be parsed
- Event type cannot be determined
- Required headers are missing
"""
pass
class TriggerProviderOAuthError(TriggerError):
"""
Raised when trigger provider OAuth fails.
"""
pass
class TriggerIgnoreEventError(TriggerError):
"""
Raised when an event should be ignored.
"""
pass