Expand description
§Discourse Webhooks
A type-safe Rust library for handling Discourse webhook events.
This crate provides:
- Type-safe event parsing for Discourse webhooks
- HMAC-SHA256 signature verification
- Trait-based event handling system
- Support for all major Discourse webhook events
§Quick Start
use discourse_webhooks::{WebhookEventHandler, WebhookProcessor, TopicWebhookEvent};
struct MyHandler;
impl WebhookEventHandler for MyHandler {
    type Error = String;
    fn handle_topic_created(&mut self, event: &TopicWebhookEvent) -> Result<(), Self::Error> {
        println!("New topic: {}", event.topic.title);
        Ok(())
    }
}
// Process webhook events
let processor = WebhookProcessor::new();
let mut handler = MyHandler;
// processor.process_json(&mut handler, "topic_created", payload, None)?;Re-exports§
- pub use error::Result;
- pub use error::WebhookError;
- pub use events::parse_webhook_payload;
- pub use events::PostWebhookEvent;
- pub use events::TopicWebhookEvent;
- pub use events::WebhookEventPayload;
- pub use events::WebhookPost;
- pub use events::WebhookTopic;
- pub use events::WebhookUser;
- pub use signature::verify_json_signature;
- pub use signature::verify_signature;
- pub use signature::SignatureVerificationError;
Modules§
- error
- Error types for the discourse-webhooks crate
- events
- Event types and parsing for Discourse webhooks
- signature
Structs§
- DiscourseWebhook Payload 
- Represents a Discourse webhook payload structure
- WebhookProcessor 
- A webhook processor that handles signature verification and event dispatching
Traits§
- WebhookEvent Handler 
- Trait for handling different types of webhook events
Functions§
- process_webhook_ event 
- Process a webhook event using the provided handler