mirror of
https://github.com/langgenius/dify-plugin-sdks.git
synced 2026-07-22 10:25:23 -04:00
76d1820205
- 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.
97 lines
2.3 KiB
Python
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
|