Files
dify-plugin-sdks/python/dify_plugin/errors/trigger.py
T
Harry 826a6df1a8 feat(trigger): enhance trigger validation and HTTP handling
- Updated `PluginExecutor` to return a result upon validating provider credentials.
- Renamed `ValidateProviderCredentials` to `ValidateTriggerCredentials` for consistency in trigger actions.
- Improved the `PluginRegistration` class to return OAuth schemas for registered providers.
- Added new error classes for better handling of trigger provider credential validation and OAuth errors.
- Refactored HTTP request and response serialization/deserialization for improved clarity and functionality.
- Enhanced GitHub provider to utilize new error handling and validation mechanisms.

This commit improves the overall structure and error management of the trigger system, ensuring better integration and usability.
2025-09-04 16:52:20 +08:00

75 lines
1.8 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 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