Expand description
webhook handling (forge-agnostic)
Processing happens as follows:
- HHTP POST data
- processed by Rocket route handler
FromData for RoutePayloadParameter<F>- Checks the vhost.
- Extracts the client IP address and checks it against the union of the forge ACLs.
- Deserialises the JSON into serde_json::Value.
- Per-forge webhook implementation route calls
RoutePayloadParameter<F>::webhook_impl. - Global implementation
webhook_impl, here:- Goes via
webhook_impl_loggedandRawPayload.decode_analyse_validate_recordto structure the logging and error handling. - Calls the forge-specific prefilter.
- Further deserialises the payload into
the forge-specific data
We3bhookForge::Payload. - Calls
ForgeKind::analyse_payloadto get awebhook::AnalysedPayloadData. - Checks the host name and IP address against the specific ACL.
- Parses the tag metadata.
- Makes a
JobRowand Inserts it into the database.
- Goes via
Structsยง
- Analysed
Payload - Route
Payload Parameter - Used in
#[rocket::post]