pub trait PlatformProvider {
// Required methods
fn name(&self) -> &str;
fn display_name(&self) -> &str;
fn detect(&self) -> DetectionResult;
fn format_inbound(&self, message: &InboundMessage) -> InboundRequest;
fn default_webhook_port(&self) -> u16;
fn config_path(&self) -> Option<PathBuf>;
fn install(&self, opts: &InstallOptions) -> Result<InstallResult>;
fn verify(&self) -> Result<VerifyResult>;
fn doctor(
&self,
opts: &ProviderDoctorOptions,
) -> Result<ProviderDoctorResult>;
fn setup(&self, opts: &ProviderSetupOptions) -> Result<ProviderSetupResult>;
fn relay_test(
&self,
opts: &ProviderRelayTestOptions,
) -> Result<ProviderRelayTestResult>;
// Provided method
fn default_webhook_host(&self) -> &str { ... }
}Required Methods§
Sourcefn display_name(&self) -> &str
fn display_name(&self) -> &str
Human-readable display name
Sourcefn detect(&self) -> DetectionResult
fn detect(&self) -> DetectionResult
Detect if this platform is installed on the current system
Sourcefn format_inbound(&self, message: &InboundMessage) -> InboundRequest
fn format_inbound(&self, message: &InboundMessage) -> InboundRequest
Format an inbound message for this platform’s webhook
Sourcefn default_webhook_port(&self) -> u16
fn default_webhook_port(&self) -> u16
Get the platform’s default webhook port
Sourcefn config_path(&self) -> Option<PathBuf>
fn config_path(&self) -> Option<PathBuf>
Get config file path for this platform
Sourcefn install(&self, opts: &InstallOptions) -> Result<InstallResult>
fn install(&self, opts: &InstallOptions) -> Result<InstallResult>
Install/configure the webhook channel for this platform
Sourcefn verify(&self) -> Result<VerifyResult>
fn verify(&self) -> Result<VerifyResult>
Verify the installation is working
Sourcefn doctor(&self, opts: &ProviderDoctorOptions) -> Result<ProviderDoctorResult>
fn doctor(&self, opts: &ProviderDoctorOptions) -> Result<ProviderDoctorResult>
Run provider-specific diagnostics.
Sourcefn setup(&self, opts: &ProviderSetupOptions) -> Result<ProviderSetupResult>
fn setup(&self, opts: &ProviderSetupOptions) -> Result<ProviderSetupResult>
Persist provider-specific relay setup.
Sourcefn relay_test(
&self,
opts: &ProviderRelayTestOptions,
) -> Result<ProviderRelayTestResult>
fn relay_test( &self, opts: &ProviderRelayTestOptions, ) -> Result<ProviderRelayTestResult>
Send a provider-specific relay probe to validate webhook delivery.
Provided Methods§
Sourcefn default_webhook_host(&self) -> &str
fn default_webhook_host(&self) -> &str
Get the platform’s default webhook host