Update to aw-b.18

This commit is contained in:
Aode (lion) 2021-12-30 12:06:02 -06:00
parent b089972fd8
commit 7a5787e3ca
2 changed files with 9 additions and 10 deletions

View file

@ -1,7 +1,7 @@
[package]
name = "actix-webfinger"
description = "Types and helpers to create and fetch Webfinger resources"
version = "0.4.0-beta.4"
version = "0.4.0-beta.5"
license = "GPL-3.0"
authors = ["asonix <asonix@asonix.dog>"]
repository = "https://git.asonix.dog/Aardwolf/actix-webfinger"
@ -10,8 +10,8 @@ edition = "2021"
[dependencies]
actix-rt = "2.3.0"
actix-web = { version = "4.0.0-beta.11", default-features = false }
awc = { version = "3.0.0-beta.10", default-features = false }
actix-web = { version = "4.0.0-beta.18", default-features = false }
awc = { version = "3.0.0-beta.17", default-features = false }
serde = "1.0"
serde_derive = "1.0"
thiserror = "1.0"

View file

@ -98,9 +98,8 @@
//!
//! You should have received a copy of the GNU General Public License along with Actix Webfinger. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
use actix_web::{
dev::RequestHead,
error::ResponseError,
guard::Guard,
guard::{Guard, GuardContext},
http::Method,
web::{get, Query},
FromRequest, HttpResponse, Resource,
@ -135,8 +134,8 @@ use std::{future::Future, pin::Pin};
pub struct WebfingerGuard;
impl Guard for WebfingerGuard {
fn check(&self, request: &RequestHead) -> bool {
let valid_accept = if let Some(val) = request.headers().get("Accept") {
fn check(&self, ctx: &GuardContext<'_>) -> bool {
let valid_accept = if let Some(val) = ctx.head().headers().get("Accept") {
if let Ok(s) = val.to_str() {
s.split(',').any(|v| {
let v = if let Some(index) = v.find(';') {
@ -161,7 +160,7 @@ impl Guard for WebfingerGuard {
true
};
valid_accept && request.method == Method::GET
valid_accept && ctx.head().method == Method::GET
}
}
@ -665,9 +664,9 @@ pub enum FetchError {
mod tests {
use crate::{Webfinger, WebfingerQuery};
const SIR_BOOPS: &'static str = r#"{"subject":"acct:Sir_Boops@sergal.org","aliases":["https://mastodon.sergal.org/@Sir_Boops","https://mastodon.sergal.org/users/Sir_Boops"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.sergal.org/@Sir_Boops"},{"rel":"http://schemas.google.com/g/2010#updates-from","type":"application/atom+xml","href":"https://mastodon.sergal.org/users/Sir_Boops.atom"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.sergal.org/users/Sir_Boops"},{"rel":"salmon","href":"https://mastodon.sergal.org/api/salmon/1"},{"rel":"magic-public-key","href":"data:application/magic-public-key,RSA.vwDujxmxoYHs64MyVB3LG5ZyBxV3ufaMRBFu42bkcTpISq1WwZ-3Zb6CI8zOO-nM-Q2llrVRYjZa4ZFnOLvMTq_Kf-Zf5wy2aCRer88gX-MsJOAtItSi412y0a_rKOuFaDYLOLeTkRvmGLgZWbsrZJOp-YWb3zQ5qsIOInkc5BwI172tMsGeFtsnbNApPV4lrmtTGaJ8RiM8MR7XANBOfOHggSt1-eAIKGIsCmINEMzs1mG9D75xKtC_sM8GfbvBclQcBstGkHAEj1VHPW0ch6Bok5_QQppicyb8UA1PAA9bznSFtKlYE4xCH8rlCDSDTBRtdnBWHKcj619Ujz4Qaw==.AQAB"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.sergal.org/authorize_interaction?uri={uri}"}]}"#;
const SIR_BOOPS: &str = r#"{"subject":"acct:Sir_Boops@sergal.org","aliases":["https://mastodon.sergal.org/@Sir_Boops","https://mastodon.sergal.org/users/Sir_Boops"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.sergal.org/@Sir_Boops"},{"rel":"http://schemas.google.com/g/2010#updates-from","type":"application/atom+xml","href":"https://mastodon.sergal.org/users/Sir_Boops.atom"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.sergal.org/users/Sir_Boops"},{"rel":"salmon","href":"https://mastodon.sergal.org/api/salmon/1"},{"rel":"magic-public-key","href":"data:application/magic-public-key,RSA.vwDujxmxoYHs64MyVB3LG5ZyBxV3ufaMRBFu42bkcTpISq1WwZ-3Zb6CI8zOO-nM-Q2llrVRYjZa4ZFnOLvMTq_Kf-Zf5wy2aCRer88gX-MsJOAtItSi412y0a_rKOuFaDYLOLeTkRvmGLgZWbsrZJOp-YWb3zQ5qsIOInkc5BwI172tMsGeFtsnbNApPV4lrmtTGaJ8RiM8MR7XANBOfOHggSt1-eAIKGIsCmINEMzs1mG9D75xKtC_sM8GfbvBclQcBstGkHAEj1VHPW0ch6Bok5_QQppicyb8UA1PAA9bznSFtKlYE4xCH8rlCDSDTBRtdnBWHKcj619Ujz4Qaw==.AQAB"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.sergal.org/authorize_interaction?uri={uri}"}]}"#;
const QUERIES: [&'static str; 4] = [
const QUERIES: [&str; 4] = [
r#"{"resource":"acct:asonix@asonix.dog"}"#,
r#"{"resource":"asonix@asonix.dog"}"#,
r#"{"resource":"acct:@asonix@asonix.dog"}"#,