client-api: Fix deserialization of recently changed state endpoint requests

This commit is contained in:
Jonas Platte 2021-04-05 19:37:45 +02:00
parent 466b8679d6
commit a07eb4ecff
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
2 changed files with 19 additions and 11 deletions

View File

@ -142,9 +142,11 @@ impl ruma_api::IncomingRequest for IncomingRequest {
}
};
let state_key = {
let decoded =
match percent_encoding::percent_decode(path_segments[7].as_bytes()).decode_utf8() {
let state_key = match path_segments.get(7) {
Some(segment) => {
let decoded = match percent_encoding::percent_decode(segment.as_bytes())
.decode_utf8()
{
Ok(val) => val,
Err(err) => return Err(RequestDeserializationError::new(err, request).into()),
};
@ -153,6 +155,8 @@ impl ruma_api::IncomingRequest for IncomingRequest {
Ok(val) => val,
Err(err) => return Err(RequestDeserializationError::new(err, request).into()),
}
}
None => "".into(),
};
Ok(Self { room_id, event_type, state_key })

View File

@ -129,10 +129,14 @@ impl ruma_api::IncomingRequest for IncomingRequest {
}
};
let state_key =
match percent_encoding::percent_decode(path_segments[7].as_bytes()).decode_utf8() {
let state_key = match path_segments.get(7) {
Some(segment) => {
match percent_encoding::percent_decode(segment.as_bytes()).decode_utf8() {
Ok(val) => val.into_owned(),
Err(err) => return Err(RequestDeserializationError::new(err, request).into()),
}
}
None => "".into(),
};
let content = {