From 406b8501acc5acd92b3672728977a951ae1f5440 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Tue, 29 Sep 2020 22:12:56 +0200 Subject: [PATCH] Fix building on Rust 1.43.0 --- ruma-api-macros/src/api.rs | 7 ++++++- ruma-client-api/src/r0/message/send_message_event.rs | 7 ++++++- .../src/r0/state/send_state_event_for_empty_key.rs | 7 ++++++- ruma-client-api/src/r0/state/send_state_event_for_key.rs | 7 ++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ruma-api-macros/src/api.rs b/ruma-api-macros/src/api.rs index 9865845e..88b0ba8c 100644 --- a/ruma-api-macros/src/api.rs +++ b/ruma-api-macros/src/api.rs @@ -355,7 +355,12 @@ impl ToTokens for Api { .method(#ruma_api_import::exports::http::Method::#method) .uri(::std::format!( "{}{}{}", - base_url.strip_suffix("/").unwrap_or(base_url), + // FIXME: Once MSRV is >= 1.45.0, switch to + // base_url.strip_suffix('/').unwrap_or(base_url), + match base_url.as_bytes().last() { + Some(b'/') => &base_url[..base_url.len() - 1], + _ => base_url, + }, #request_path_string, #request_query_string, )); diff --git a/ruma-client-api/src/r0/message/send_message_event.rs b/ruma-client-api/src/r0/message/send_message_event.rs index 428164ad..0a5b98fd 100644 --- a/ruma-client-api/src/r0/message/send_message_event.rs +++ b/ruma-client-api/src/r0/message/send_message_event.rs @@ -177,7 +177,12 @@ impl<'a> ruma_api::OutgoingRequest for Request<'a> { .method(http::Method::PUT) .uri(format!( "{}/_matrix/client/r0/rooms/{}/send/{}/{}", - base_url.strip_suffix("/").unwrap_or(base_url), + // FIXME: Once MSRV is >= 1.45.0, switch to + // base_url.strip_suffix('/').unwrap_or(base_url), + match base_url.as_bytes().last() { + Some(b'/') => &base_url[..base_url.len() - 1], + _ => base_url, + }, utf8_percent_encode(self.room_id.as_str(), NON_ALPHANUMERIC), utf8_percent_encode(self.content.event_type(), NON_ALPHANUMERIC), utf8_percent_encode(&self.txn_id, NON_ALPHANUMERIC), diff --git a/ruma-client-api/src/r0/state/send_state_event_for_empty_key.rs b/ruma-client-api/src/r0/state/send_state_event_for_empty_key.rs index cbc2271f..a47948d3 100644 --- a/ruma-client-api/src/r0/state/send_state_event_for_empty_key.rs +++ b/ruma-client-api/src/r0/state/send_state_event_for_empty_key.rs @@ -164,7 +164,12 @@ impl<'a> ruma_api::OutgoingRequest for Request<'a> { .method(http::Method::PUT) .uri(format!( "{}/_matrix/client/r0/rooms/{}/state/{}", - base_url.strip_suffix("/").unwrap_or(base_url), + // FIXME: Once MSRV is >= 1.45.0, switch to + // base_url.strip_suffix('/').unwrap_or(base_url), + match base_url.as_bytes().last() { + Some(b'/') => &base_url[..base_url.len() - 1], + _ => base_url, + }, utf8_percent_encode(self.room_id.as_str(), NON_ALPHANUMERIC), utf8_percent_encode(self.content.event_type(), NON_ALPHANUMERIC), )) diff --git a/ruma-client-api/src/r0/state/send_state_event_for_key.rs b/ruma-client-api/src/r0/state/send_state_event_for_key.rs index 6689f31b..f7a40869 100644 --- a/ruma-client-api/src/r0/state/send_state_event_for_key.rs +++ b/ruma-client-api/src/r0/state/send_state_event_for_key.rs @@ -173,7 +173,12 @@ impl<'a> ruma_api::OutgoingRequest for Request<'a> { .method(http::Method::PUT) .uri(format!( "{}/_matrix/client/r0/rooms/{}/state/{}/{}", - base_url.strip_suffix("/").unwrap_or(base_url), + // FIXME: Once MSRV is >= 1.45.0, switch to + // base_url.strip_suffix('/').unwrap_or(base_url), + match base_url.as_bytes().last() { + Some(b'/') => &base_url[..base_url.len() - 1], + _ => base_url, + }, utf8_percent_encode(self.room_id.as_str(), NON_ALPHANUMERIC), utf8_percent_encode(self.content.event_type(), NON_ALPHANUMERIC), utf8_percent_encode(&self.state_key, NON_ALPHANUMERIC),