Set accept header and timeout for outgoing apub requests
This commit is contained in:
parent
cd83fcb03e
commit
be1f5c4128
2 changed files with 12 additions and 2 deletions
|
@ -13,12 +13,14 @@ use url::Url;
|
|||
|
||||
type GroupExt = Ext<Group, ApActorProperties>;
|
||||
|
||||
static APUB_JSON_CONTENT_TYPE: &str = "application/activity+json";
|
||||
|
||||
fn create_apub_response<T>(json: &T) -> HttpResponse<Body>
|
||||
where
|
||||
T: serde::ser::Serialize,
|
||||
{
|
||||
HttpResponse::Ok()
|
||||
.content_type("application/activity+json")
|
||||
.content_type(APUB_JSON_CONTENT_TYPE)
|
||||
.json(json)
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ use failure::Error;
|
|||
use isahc::prelude::*;
|
||||
use log::warn;
|
||||
use serde::Deserialize;
|
||||
use std::time::Duration;
|
||||
|
||||
fn fetch_node_info(domain: &str) -> Result<NodeInfo, Error> {
|
||||
let well_known_uri = format!(
|
||||
|
@ -56,7 +57,14 @@ where
|
|||
}
|
||||
// TODO: should cache responses here when we are in production
|
||||
// TODO: this function should return a future
|
||||
let text = isahc::get(uri)?.text()?;
|
||||
let timeout = Duration::from_secs(60);
|
||||
let text = Request::get(uri)
|
||||
.header("Accept", APUB_JSON_CONTENT_TYPE)
|
||||
.connect_timeout(timeout)
|
||||
.timeout(timeout)
|
||||
.body(())?
|
||||
.send()?
|
||||
.text()?;
|
||||
let res: Response = serde_json::from_str(&text)?;
|
||||
Ok(res)
|
||||
}
|
||||
|
|
Reference in a new issue