actix-web: new fetch api

This commit is contained in:
Aode (lion) 2021-11-22 16:49:56 -06:00
parent 2d9b101eb7
commit e7a34dd33b

View file

@ -225,7 +225,7 @@ where
let d = D::from(url); let d = D::from(url);
let repo = serve_info.repo_factory.repo(); let repo = serve_info.repo_factory.repo();
let res = repo.fetch(&d).await; let res = repo.fetch(d).await;
match res { match res {
Ok(Some(object)) => HttpResponse::Ok() Ok(Some(object)) => HttpResponse::Ok()
@ -306,10 +306,10 @@ where
)] )]
#[serde(transparent)] #[serde(transparent)]
#[allow(private_in_public)] #[allow(private_in_public)]
struct ObjectId<Kind>(apub_core::object_id::ObjectId<Kind>); struct ObjectId<Kind>(apub_core::object_id::ObjectId<'static, Kind>);
fn object_id<Kind>(url: Url) -> ObjectId<Kind> { fn object_id<Kind>(url: Url) -> ObjectId<Kind> {
ObjectId(apub_core::object_id::ObjectId::new(url)) ObjectId(apub_core::object_id::ObjectId::new_owned(url))
} }
#[derive( #[derive(
@ -373,11 +373,12 @@ where
Some(other) => return Err(VerifyError::Algorithm(other.to_string()).into()), Some(other) => return Err(VerifyError::Algorithm(other.to_string()).into()),
}; };
let key_id = object_id(key_id.parse().map_err(|_| VerifyError::KeyId(key_id))?); let key_id = key_id.parse().map_err(|_| VerifyError::KeyId(key_id))?;
let key_id = object_id(key_id);
let repo = verifier.factory().repo(); let repo = verifier.factory().repo();
let response = repo let response = repo
.fetch(&key_id) .fetch(key_id.clone())
.await .await
.map_err(E::from)? .map_err(E::from)?
.ok_or(VerifyError::KeyNotFound)?; .ok_or(VerifyError::KeyNotFound)?;