pub struct VerifiedWebhook(pub Vec<u8>);Expand description
Verified webhook payload extractor
This extractor validates the HMAC-SHA256 signature from GitHub webhooks.
It extracts the X-Hub-Signature-256 header and validates it against the request body.
Usage:
ⓘ
async fn webhook_handler(
VerifiedWebhook(body): VerifiedWebhook,
) -> impl IntoResponse {
// body is verified and can be parsed safely
}Tuple Fields§
§0: Vec<u8>Trait Implementations§
Source§impl Debug for VerifiedWebhook
impl Debug for VerifiedWebhook
Source§impl FromRequest<WebhookSecret> for VerifiedWebhook
impl FromRequest<WebhookSecret> for VerifiedWebhook
Source§type Rejection = WebhookError
type Rejection = WebhookError
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§async fn from_request(
req: Request,
state: &WebhookSecret,
) -> Result<Self, Self::Rejection>
async fn from_request( req: Request, state: &WebhookSecret, ) -> Result<Self, Self::Rejection>
Perform the extraction.
Auto Trait Implementations§
impl Freeze for VerifiedWebhook
impl RefUnwindSafe for VerifiedWebhook
impl Send for VerifiedWebhook
impl Sync for VerifiedWebhook
impl Unpin for VerifiedWebhook
impl UnwindSafe for VerifiedWebhook
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more