pub async fn sigv4_validate_request<B, S, F>(
request: Request<B>,
region: &str,
service: &str,
get_signing_key: &mut S,
server_timestamp: DateTime<Utc>,
required_headers: &SignedHeaderRequirements,
options: SignatureOptions
) -> Result<(Parts, Bytes, Principal), BoxError>where
B: IntoRequestBytes,
S: Service<GetSigningKeyRequest, Response = GetSigningKeyResponse, Error = BoxError, Future = F> + Send,
F: Future<Output = Result<GetSigningKeyResponse, BoxError>> + Send,