Crate tide_github
source · [−]Expand description
Process Github webhooks in tide.
Example
use octocrab::models::issues::Comment;
use tide_github::Event;
#[async_std::main]
async fn main() -> tide::Result<()> {
let mut app = tide::new();
let github = tide_github::new(b"My Github webhook s3cr#t")
.on(Event::IssuesComment, |mut req| {
Box::pin(async move {
let _comment: Comment = req.body_json().await.unwrap();
})
})
.build();
app.at("/gh_webhooks").nest(github);
app.listen("127.0.0.1:3000").await?;
Ok(())
}
The API is still in development and may change in unexpected ways.
Structs
ServerBuilder
is used to first register closures to events before finally building a
tide::Server
using those closures.
Enums
This enum represents the event (and its variants the event type) for which we can receive a Github webhook.
The variants of EventDispatchError
represent the errors that would prevent us from calling
the handler to process the Github Webhook.
Functions
Returns a ServerBuilder
with the given webhook secret.