Accept more content types when making AP requests

This commit is contained in:
Bat 2018-07-18 16:25:02 +02:00
parent e3a7eadb78
commit 3d436c10b1
4 changed files with 7 additions and 5 deletions

View file

@ -17,6 +17,7 @@ pub mod sign;
pub const CONTEXT_URL: &'static str = "https://www.w3.org/ns/activitystreams"; pub const CONTEXT_URL: &'static str = "https://www.w3.org/ns/activitystreams";
pub const PUBLIC_VISIBILTY: &'static str = "https://www.w3.org/ns/activitystreams#Public"; pub const PUBLIC_VISIBILTY: &'static str = "https://www.w3.org/ns/activitystreams#Public";
pub const AP_ACCEPT_HEADER: &'static str = "application/ld+json; profile=\"https://w3.org/ns/activitystreams\", application/ld+json;profile=\"https://w3.org/ns/activitystreams\", application/activity+json, application/ld+json";
pub fn context() -> serde_json::Value { pub fn context() -> serde_json::Value {
json!([ json!([

View file

@ -9,6 +9,7 @@ use std::{
time::SystemTime time::SystemTime
}; };
use activity_pub::AP_ACCEPT_HEADER;
use activity_pub::sign::Signer; use activity_pub::sign::Signer;
const USER_AGENT: &'static str = "Plume/0.1.0"; const USER_AGENT: &'static str = "Plume/0.1.0";
@ -25,7 +26,7 @@ pub fn headers() -> Headers {
let mut headers = Headers::new(); let mut headers = Headers::new();
headers.set(UserAgent::new(USER_AGENT)); headers.set(UserAgent::new(USER_AGENT));
headers.set(Date(SystemTime::now().into())); headers.set(Date(SystemTime::now().into()));
headers.set(ContentType(Mime::from_str("application/activity+json").unwrap())); headers.set(ContentType(Mime::from_str(AP_ACCEPT_HEADER).unwrap()));
headers headers
} }

View file

@ -18,7 +18,7 @@ use webfinger::*;
use {BASE_URL, USE_HTTPS}; use {BASE_URL, USE_HTTPS};
use plume_common::activity_pub::{ use plume_common::activity_pub::{
ApSignature, ActivityStream, Id, IntoId, PublicKey, AP_ACCEPT_HEADER, ApSignature, ActivityStream, Id, IntoId, PublicKey,
inbox::WithInbox, inbox::WithInbox,
sign sign
}; };
@ -109,7 +109,7 @@ impl Blog {
fn fetch_from_url(conn: &PgConnection, url: String) -> Option<Blog> { fn fetch_from_url(conn: &PgConnection, url: String) -> Option<Blog> {
let req = Client::new() let req = Client::new()
.get(&url[..]) .get(&url[..])
.header(Accept(vec![qitem("application/activity+json".parse::<Mime>().unwrap())])) .header(Accept(vec![qitem(AP_ACCEPT_HEADER.parse::<Mime>().unwrap())]))
.send(); .send();
match req { match req {
Ok(mut res) => { Ok(mut res) => {

View file

@ -13,7 +13,7 @@ use openssl::{
sign sign
}; };
use plume_common::activity_pub::{ use plume_common::activity_pub::{
ActivityStream, Id, IntoId, ApSignature, PublicKey, AP_ACCEPT_HEADER, ActivityStream, Id, IntoId, ApSignature, PublicKey,
inbox::WithInbox, inbox::WithInbox,
sign::{Signer, gen_keypair} sign::{Signer, gen_keypair}
}; };
@ -155,7 +155,7 @@ impl User {
fn fetch_from_url(conn: &PgConnection, url: String) -> Option<User> { fn fetch_from_url(conn: &PgConnection, url: String) -> Option<User> {
let req = Client::new() let req = Client::new()
.get(&url[..]) .get(&url[..])
.header(Accept(vec![qitem("application/activity+json".parse::<Mime>().unwrap())])) .header(Accept(vec![qitem(AP_ACCEPT_HEADER.parse::<Mime>().unwrap())]))
.send(); .send();
match req { match req {
Ok(mut res) => { Ok(mut res) => {