Expand description
webhook handling (forge-agnostic)
Processing happens as follows:
- HHTP POST data
- processed by Rocket route handler
FromData for RawSpecificWebhookPayload<P>Pisf::Payloadwherefis eggitlabP::Deserializegives usP- client IP address extracted from Rocket
RawSpecificWebhookPayload<P>- processed by
RawSpecificWebhookPayload::webhook_impl - Find the forge details, from
P as SomeWebhookPayload TryFrom<Payload> for RawWebhookPayloadData<DbData>(DbDatais the forge-specific data)- Converted to
RawWebhookPayloadData<DbData>andRawWebhookMetadata - processed by
RawWebhookMetadata::webhook_impl(withRawWebhookPayloadData<_>argument) - Processed by
UnvalidatedWebhookRequest::validate_payload1. Check forge host (based on repo url) and IP address permission 2. Check tag name etc. - Make a
JobRow
- processed by
JobRow, inRawWebhookMetadata::webhook_impl- inserted in db
Structs§
- RawSpecific
Webhook Payload - RawWebhook
Payload Data - Not validated