fix: don't panic on bad server names

next
Timo Kösters 2020-09-15 08:55:02 +02:00
parent 71500b14b9
commit 0b263208e3
No known key found for this signature in database
GPG Key ID: 356E705610F626D5
1 changed files with 12 additions and 4 deletions

View File

@ -62,14 +62,18 @@ where
let mut http_request = request
.try_into_http_request(&actual_destination, Some(""))
.unwrap();
.map_err(|e| {
warn!("{}: {}", actual_destination, e);
Error::BadServerResponse("Invalid destination")
})?;
let mut request_map = serde_json::Map::new();
if !http_request.body().is_empty() {
request_map.insert(
"content".to_owned(),
serde_json::from_slice(http_request.body()).unwrap(),
serde_json::from_slice(http_request.body())
.expect("body is valid json, we just created it"),
);
};
@ -92,7 +96,7 @@ where
globals.keypair(),
&mut request_json,
)
.unwrap();
.expect("our request json is what ruma expects");
let signatures = request_json["signatures"]
.as_object()
@ -145,7 +149,11 @@ where
.into_iter()
.collect();
let response = T::IncomingResponse::try_from(http_response.body(body).unwrap());
let response = T::IncomingResponse::try_from(
http_response
.body(body)
.expect("reqwest body is valid http body"),
);
response.map_err(|e| {
warn!("{}", e);
Error::BadServerResponse("Server returned bad response.")