pub fn legacy_principal_fingerprint(
req: &Request<Body>,
) -> Result<String, CratestackError>Expand description
The default fingerprint as it was before cratestack#1006, which put a
VerifiedPrincipal (the envelope layer’s signer) first: the SHA-256 hex
of the Authorization header, else the ConnectInfo peer address,
else a 412 (cratestack#416).
Public for one migration (API-review decision, 2026-09-26): a
deployment that already inserts VerifiedPrincipal (its own middleware,
or the envelope layer) moves to the princ: namespace on upgrade, so a
key in flight across the deploy would run again instead of replaying.
Install this with
IdempotencyLayer::with_legacy_principal_fingerprint
for the deploy, and drop it once the idempotency TTL has passed.