diff --git a/src/http/client.rs b/src/http/client.rs index 76bd36eb0d1..fed05bf38d1 100644 --- a/src/http/client.rs +++ b/src/http/client.rs @@ -254,7 +254,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await?; @@ -287,7 +287,7 @@ impl Http { role_id, user_id, }, - params: &[], + params: None, }) .await } @@ -319,7 +319,7 @@ impl Http { guild_id, user_id, }, - params: &[("delete_message_seconds", delete_message_seconds.to_string())], + params: Some(&[("delete_message_seconds", delete_message_seconds.to_string())]), }) .await } @@ -342,7 +342,7 @@ impl Http { route: Route::GuildBulkBan { guild_id, }, - params: &[], + params: None, }) .await } @@ -363,7 +363,7 @@ impl Http { route: Route::ChannelTyping { channel_id, }, - params: &[], + params: None, }) .await } @@ -392,7 +392,7 @@ impl Http { route: Route::GuildChannels { guild_id, }, - params: &[], + params: None, }) .await } @@ -409,7 +409,7 @@ impl Http { headers: audit_log_reason.map(reason_into_header), method: LightMethod::Post, route: Route::StageInstances, - params: &[], + params: None, }) .await } @@ -433,7 +433,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -455,7 +455,7 @@ impl Http { route: Route::ChannelThreads { channel_id, }, - params: &[], + params: None, }) .await } @@ -490,7 +490,7 @@ impl Http { route: Route::ChannelForumPosts { channel_id, }, - params: &[], + params: None, }) .await } @@ -516,7 +516,7 @@ impl Http { route: Route::GuildEmojis { guild_id, }, - params: &[], + params: None, }) .await } @@ -535,7 +535,7 @@ impl Http { route: Route::Emojis { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -558,7 +558,7 @@ impl Http { application_id: self.try_application_id()?, token: interaction_token, }, - params: &[], + params: None, }; if files.is_empty() { @@ -593,7 +593,7 @@ impl Http { route: Route::Commands { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -611,7 +611,7 @@ impl Http { route: Route::Commands { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -631,7 +631,7 @@ impl Http { application_id: self.try_application_id()?, guild_id, }, - params: &[], + params: None, }) .await } @@ -676,7 +676,7 @@ impl Http { headers: None, method: LightMethod::Post, route: Route::Guilds, - params: &[], + params: None, }) .await } @@ -702,7 +702,7 @@ impl Http { application_id: self.try_application_id()?, guild_id, }, - params: &[], + params: None, }) .await } @@ -731,7 +731,7 @@ impl Http { guild_id, integration_id, }, - params: &[], + params: None, }) .await } @@ -758,7 +758,7 @@ impl Http { interaction_id, token: interaction_token, }, - params: &[], + params: None, }; if files.is_empty() { @@ -800,7 +800,7 @@ impl Http { route: Route::ChannelInvites { channel_id, }, - params: &[], + params: None, }) .await } @@ -824,7 +824,7 @@ impl Http { channel_id, target_id, }, - params: &[], + params: None, }) .await } @@ -839,7 +839,7 @@ impl Http { headers: None, method: LightMethod::Post, route: Route::UserMeDmChannels, - params: &[], + params: None, }) .await } @@ -861,7 +861,7 @@ impl Http { message_id, reaction: &reaction_type.as_data(), }, - params: &[], + params: None, }) .await } @@ -881,7 +881,7 @@ impl Http { route: Route::GuildRoles { guild_id, }, - params: &[], + params: None, }) .await?; @@ -914,7 +914,7 @@ impl Http { route: Route::GuildScheduledEvents { guild_id, }, - params: &[], + params: None, }) .await } @@ -943,7 +943,7 @@ impl Http { route: Route::GuildStickers { guild_id, }, - params: &[], + params: None, }) .await } @@ -982,7 +982,7 @@ impl Http { route: Route::Entitlements { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -1029,7 +1029,7 @@ impl Http { route: Route::ChannelWebhooks { channel_id, }, - params: &[], + params: None, }) .await } @@ -1048,7 +1048,7 @@ impl Http { route: Route::Channel { channel_id, }, - params: &[], + params: None, }) .await } @@ -1067,7 +1067,7 @@ impl Http { route: Route::StageInstance { channel_id, }, - params: &[], + params: None, }) .await } @@ -1090,7 +1090,7 @@ impl Http { guild_id, emoji_id, }, - params: &[], + params: None, }) .await } @@ -1106,7 +1106,7 @@ impl Http { application_id: self.try_application_id()?, emoji_id, }, - params: &[], + params: None, }) .await } @@ -1127,7 +1127,7 @@ impl Http { token: interaction_token, message_id, }, - params: &[], + params: None, }) .await } @@ -1143,7 +1143,7 @@ impl Http { application_id: self.try_application_id()?, command_id, }, - params: &[], + params: None, }) .await } @@ -1158,7 +1158,7 @@ impl Http { route: Route::Guild { guild_id, }, - params: &[], + params: None, }) .await } @@ -1179,7 +1179,7 @@ impl Http { guild_id, command_id, }, - params: &[], + params: None, }) .await } @@ -1200,7 +1200,7 @@ impl Http { guild_id, integration_id, }, - params: &[], + params: None, }) .await } @@ -1219,7 +1219,7 @@ impl Http { route: Route::Invite { code, }, - params: &[], + params: None, }) .await } @@ -1240,7 +1240,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -1260,7 +1260,7 @@ impl Http { route: Route::ChannelMessagesBulkDelete { channel_id, }, - params: &[], + params: None, }) .await } @@ -1297,7 +1297,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -1319,7 +1319,7 @@ impl Http { message_id, reaction: &reaction_type.as_data(), }, - params: &[], + params: None, }) .await } @@ -1338,7 +1338,7 @@ impl Http { application_id: self.try_application_id()?, token: interaction_token, }, - params: &[], + params: None, }) .await } @@ -1359,7 +1359,7 @@ impl Http { channel_id, target_id, }, - params: &[], + params: None, }) .await } @@ -1383,7 +1383,7 @@ impl Http { user_id, reaction: &reaction_type.as_data(), }, - params: &[], + params: None, }) .await } @@ -1405,7 +1405,7 @@ impl Http { message_id, reaction: &reaction_type.as_data(), }, - params: &[], + params: None, }) .await } @@ -1426,7 +1426,7 @@ impl Http { guild_id, role_id, }, - params: &[], + params: None, }) .await } @@ -1451,7 +1451,7 @@ impl Http { guild_id, event_id, }, - params: &[], + params: None, }) .await } @@ -1474,7 +1474,7 @@ impl Http { guild_id, sticker_id, }, - params: &[], + params: None, }) .await } @@ -1491,7 +1491,7 @@ impl Http { application_id: self.try_application_id()?, entitlement_id, }, - params: &[], + params: None, }) .await } @@ -1528,7 +1528,7 @@ impl Http { route: Route::Webhook { webhook_id, }, - params: &[], + params: None, }) .await } @@ -1569,7 +1569,7 @@ impl Http { webhook_id, token, }, - params: &[], + params: None, }) .await } @@ -1591,7 +1591,7 @@ impl Http { route: Route::Channel { channel_id, }, - params: &[], + params: None, }) .await } @@ -1611,7 +1611,7 @@ impl Http { route: Route::StageInstance { channel_id, }, - params: &[], + params: None, }) .await } @@ -1637,7 +1637,7 @@ impl Http { guild_id, emoji_id, }, - params: &[], + params: None, }) .await } @@ -1661,7 +1661,7 @@ impl Http { application_id: self.try_application_id()?, emoji_id, }, - params: &[], + params: None, }) .await } @@ -1688,7 +1688,7 @@ impl Http { token: interaction_token, message_id, }, - params: &[], + params: None, }; if new_attachments.is_empty() { @@ -1724,7 +1724,7 @@ impl Http { token: interaction_token, message_id, }, - params: &[], + params: None, }) .await } @@ -1750,7 +1750,7 @@ impl Http { application_id: self.try_application_id()?, command_id, }, - params: &[], + params: None, }) .await } @@ -1772,7 +1772,7 @@ impl Http { route: Route::Guild { guild_id, }, - params: &[], + params: None, }) .await } @@ -1800,7 +1800,7 @@ impl Http { guild_id, command_id, }, - params: &[], + params: None, }) .await } @@ -1828,7 +1828,7 @@ impl Http { guild_id, command_id, }, - params: &[], + params: None, }) .await } @@ -1849,7 +1849,7 @@ impl Http { route: Route::GuildChannels { guild_id, }, - params: &[], + params: None, }) .await } @@ -1876,7 +1876,7 @@ impl Http { route: Route::GuildMfa { guild_id, }, - params: &[], + params: None, }) .await .map(|mfa: GuildMfaLevel| mfa.level) @@ -1899,7 +1899,7 @@ impl Http { route: Route::GuildWidget { guild_id, }, - params: &[], + params: None, }) .await } @@ -1921,7 +1921,7 @@ impl Http { route: Route::GuildWelcomeScreen { guild_id, }, - params: &[], + params: None, }) .await } @@ -1946,7 +1946,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await?; @@ -1976,7 +1976,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }; if new_attachments.is_empty() { @@ -2009,7 +2009,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -2031,7 +2031,7 @@ impl Http { route: Route::GuildMemberMe { guild_id, }, - params: &[], + params: None, }) .await } @@ -2056,7 +2056,7 @@ impl Http { route: Route::GuildMemberMe { guild_id, }, - params: &[], + params: None, }) .await } @@ -2078,7 +2078,7 @@ impl Http { route: Route::ChannelFollowNews { channel_id: news_channel_id, }, - params: &[], + params: None, }) .await } @@ -2097,7 +2097,7 @@ impl Http { application_id: self.try_application_id()?, token: interaction_token, }, - params: &[], + params: None, }) .await } @@ -2122,7 +2122,7 @@ impl Http { application_id: self.try_application_id()?, token: interaction_token, }, - params: &[], + params: None, }; if new_attachments.is_empty() { @@ -2148,7 +2148,7 @@ impl Http { headers: None, method: LightMethod::Patch, route: Route::UserMe, - params: &[], + params: None, }) .await } @@ -2171,7 +2171,7 @@ impl Http { guild_id, role_id, }, - params: &[], + params: None, }) .await?; @@ -2205,7 +2205,7 @@ impl Http { route: Route::GuildRoles { guild_id, }, - params: &[], + params: None, }) .await?; @@ -2242,7 +2242,7 @@ impl Http { guild_id, event_id, }, - params: &[], + params: None, }) .await } @@ -2269,7 +2269,7 @@ impl Http { guild_id, sticker_id, }, - params: &[], + params: None, }) .await?; @@ -2295,7 +2295,7 @@ impl Http { route: Route::Channel { channel_id, }, - params: &[], + params: None, }) .await } @@ -2345,7 +2345,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await } @@ -2396,7 +2396,7 @@ impl Http { route: Route::GuildVoiceStateMe { guild_id, }, - params: &[], + params: None, }) .await } @@ -2418,7 +2418,7 @@ impl Http { route: Route::ChannelVoiceStatus { channel_id, }, - params: &[], + params: None, }) .await } @@ -2469,7 +2469,7 @@ impl Http { route: Route::Webhook { webhook_id, }, - params: &[], + params: None, }) .await } @@ -2517,7 +2517,7 @@ impl Http { webhook_id, token, }, - params: &[], + params: None, }) .await } @@ -2597,7 +2597,7 @@ impl Http { webhook_id, token, }, - params: ¶ms, + params: Some(¶ms), }; if files.is_empty() { @@ -2627,11 +2627,6 @@ impl Http { token: &str, message_id: MessageId, ) -> Result { - let mut params = ArrayVec::<_, 1>::new(); - if let Some(thread_id) = thread_id { - params.push(("thread_id", thread_id.to_string())); - } - self.fire(Request { body: None, multipart: None, @@ -2642,7 +2637,10 @@ impl Http { token, message_id, }, - params: ¶ms, + params: thread_id + .map(|thread_id| [("thread_id", thread_id.to_string())]) + .as_ref() + .map(<[_; 1]>::as_slice), }) .await } @@ -2657,10 +2655,7 @@ impl Http { map: &impl serde::Serialize, new_attachments: Vec>, ) -> Result { - let mut params = ArrayVec::<_, 1>::new(); - if let Some(thread_id) = thread_id { - params.push(("thread_id", thread_id.to_string())); - } + let params = thread_id.map(|thread_id| [("thread_id", thread_id.to_string())]); let mut request = Request { body: None, @@ -2672,7 +2667,7 @@ impl Http { token, message_id, }, - params: ¶ms, + params: params.as_ref().map(<[_; 1]>::as_slice), }; if new_attachments.is_empty() { @@ -2696,11 +2691,6 @@ impl Http { token: &str, message_id: MessageId, ) -> Result<()> { - let mut params = ArrayVec::<_, 1>::new(); - if let Some(thread_id) = thread_id { - params.push(("thread_id", thread_id.to_string())); - } - self.wind(204, Request { body: None, multipart: None, @@ -2711,7 +2701,10 @@ impl Http { token, message_id, }, - params: ¶ms, + params: thread_id + .map(|thread_id| [("thread_id", thread_id.to_string())]) + .as_ref() + .map(<[_; 1]>::as_slice), }) .await } @@ -2733,7 +2726,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::StatusMaintenancesActive, - params: &[], + params: None, }) .await?; @@ -2777,7 +2770,7 @@ impl Http { route: Route::GuildBans { guild_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -2813,7 +2806,7 @@ impl Http { route: Route::GuildAuditLogs { guild_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -2830,7 +2823,7 @@ impl Http { route: Route::GuildAutomodRules { guild_id, }, - params: &[], + params: None, }) .await } @@ -2848,7 +2841,7 @@ impl Http { guild_id, rule_id, }, - params: &[], + params: None, }) .await } @@ -2872,7 +2865,7 @@ impl Http { route: Route::GuildAutomodRules { guild_id, }, - params: &[], + params: None, }) .await } @@ -2898,7 +2891,7 @@ impl Http { guild_id, rule_id, }, - params: &[], + params: None, }) .await } @@ -2921,7 +2914,7 @@ impl Http { guild_id, rule_id, }, - params: &[], + params: None, }) .await } @@ -2934,7 +2927,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::GatewayBot, - params: &[], + params: None, }) .await } @@ -2949,7 +2942,7 @@ impl Http { route: Route::ChannelInvites { channel_id, }, - params: &[], + params: None, }) .await } @@ -2967,7 +2960,7 @@ impl Http { route: Route::ChannelThreadMembers { channel_id, }, - params: &[], + params: None, }) .await } @@ -2982,7 +2975,7 @@ impl Http { route: Route::GuildThreadsActive { guild_id, }, - params: &[], + params: None, }) .await } @@ -3010,7 +3003,7 @@ impl Http { route: Route::ChannelArchivedPublicThreads { channel_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -3038,7 +3031,7 @@ impl Http { route: Route::ChannelArchivedPrivateThreads { channel_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -3066,7 +3059,7 @@ impl Http { route: Route::ChannelJoinedPrivateThreads { channel_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -3081,7 +3074,7 @@ impl Http { route: Route::ChannelThreadMemberMe { channel_id, }, - params: &[], + params: None, }) .await } @@ -3096,7 +3089,7 @@ impl Http { route: Route::ChannelThreadMemberMe { channel_id, }, - params: &[], + params: None, }) .await } @@ -3116,7 +3109,7 @@ impl Http { channel_id, user_id, }, - params: &[], + params: None, }) .await } @@ -3136,7 +3129,7 @@ impl Http { channel_id, user_id, }, - params: &[], + params: None, }) .await } @@ -3156,7 +3149,7 @@ impl Http { channel_id, user_id, }, - params: &[("with_member", with_member.to_string())], + params: Some(&[("with_member", with_member.to_string())]), }) .await } @@ -3190,7 +3183,7 @@ impl Http { route: Route::ChannelWebhooks { channel_id, }, - params: &[], + params: None, }) .await } @@ -3205,7 +3198,7 @@ impl Http { route: Route::Channel { channel_id, }, - params: &[], + params: None, }) .await } @@ -3220,7 +3213,7 @@ impl Http { route: Route::GuildChannels { guild_id, }, - params: &[], + params: None, }) .await } @@ -3235,7 +3228,7 @@ impl Http { route: Route::StageInstance { channel_id, }, - params: &[], + params: None, }) .await } @@ -3274,7 +3267,7 @@ impl Http { message_id, answer_id, }, - params: ¶ms, + params: Some(¶ms), }) .await?; @@ -3295,7 +3288,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -3310,7 +3303,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::Oauth2ApplicationCurrent, - params: &[], + params: None, }) .await } @@ -3323,7 +3316,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::UserMe, - params: &[], + params: None, }) .await } @@ -3338,7 +3331,7 @@ impl Http { route: Route::GuildEmojis { guild_id, }, - params: &[], + params: None, }) .await } @@ -3354,7 +3347,7 @@ impl Http { guild_id, emoji_id, }, - params: &[], + params: None, }) .await } @@ -3376,7 +3369,7 @@ impl Http { route: Route::Emojis { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await?; @@ -3394,7 +3387,7 @@ impl Http { application_id: self.try_application_id()?, emoji_id, }, - params: &[], + params: None, }) .await } @@ -3445,7 +3438,7 @@ impl Http { route: Route::Entitlements { application_id: self.try_application_id()?, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -3458,7 +3451,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::Gateway, - params: &[], + params: None, }) .await } @@ -3473,7 +3466,7 @@ impl Http { route: Route::Commands { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -3488,7 +3481,7 @@ impl Http { route: Route::Commands { application_id: self.try_application_id()?, }, - params: &[("with_localizations", String::from("true"))], + params: Some(&[("with_localizations", String::from("true"))]), }) .await } @@ -3504,7 +3497,7 @@ impl Http { application_id: self.try_application_id()?, command_id, }, - params: &[], + params: None, }) .await } @@ -3519,7 +3512,7 @@ impl Http { route: Route::Guild { guild_id, }, - params: &[], + params: None, }) .await } @@ -3534,7 +3527,7 @@ impl Http { route: Route::Guild { guild_id, }, - params: &[("with_counts", String::from("true"))], + params: Some(&[("with_counts", String::from("true"))]), }) .await } @@ -3550,7 +3543,7 @@ impl Http { application_id: self.try_application_id()?, guild_id, }, - params: &[], + params: None, }) .await } @@ -3570,7 +3563,7 @@ impl Http { application_id: self.try_application_id()?, guild_id, }, - params: &[("with_localizations", String::from("true"))], + params: Some(&[("with_localizations", String::from("true"))]), }) .await } @@ -3591,7 +3584,7 @@ impl Http { guild_id, command_id, }, - params: &[], + params: None, }) .await } @@ -3610,7 +3603,7 @@ impl Http { application_id: self.try_application_id()?, guild_id, }, - params: &[], + params: None, }) .await } @@ -3631,7 +3624,7 @@ impl Http { guild_id, command_id, }, - params: &[], + params: None, }) .await } @@ -3648,7 +3641,7 @@ impl Http { route: Route::GuildWidget { guild_id, }, - params: &[], + params: None, }) .await } @@ -3663,7 +3656,7 @@ impl Http { route: Route::GuildPreview { guild_id, }, - params: &[], + params: None, }) .await } @@ -3678,7 +3671,7 @@ impl Http { route: Route::GuildWelcomeScreen { guild_id, }, - params: &[], + params: None, }) .await } @@ -3693,7 +3686,7 @@ impl Http { route: Route::GuildIntegrations { guild_id, }, - params: &[], + params: None, }) .await } @@ -3708,7 +3701,7 @@ impl Http { route: Route::GuildInvites { guild_id, }, - params: &[], + params: None, }) .await } @@ -3728,7 +3721,7 @@ impl Http { route: Route::GuildVanityUrl { guild_id, }, - params: &[], + params: None, }) .await .map(|x: GuildVanityUrl| x.code) @@ -3763,7 +3756,7 @@ impl Http { route: Route::GuildMembers { guild_id, }, - params: ¶ms, + params: Some(¶ms), }) .await?; @@ -3788,7 +3781,7 @@ impl Http { route: Route::GuildPrune { guild_id, }, - params: &[("days", days.to_string())], + params: Some(&[("days", days.to_string())]), }) .await } @@ -3804,7 +3797,7 @@ impl Http { route: Route::GuildRegions { guild_id, }, - params: &[], + params: None, }) .await } @@ -3821,7 +3814,7 @@ impl Http { guild_id, role_id, }, - params: &[], + params: None, }) .await?; @@ -3843,7 +3836,7 @@ impl Http { route: Route::GuildRoles { guild_id, }, - params: &[], + params: None, }) .await?; @@ -3878,7 +3871,7 @@ impl Http { guild_id, event_id, }, - params: &[("with_user_count", with_user_count.to_string())], + params: Some(&[("with_user_count", with_user_count.to_string())]), }) .await } @@ -3901,7 +3894,7 @@ impl Http { route: Route::GuildScheduledEvents { guild_id, }, - params: &[("with_user_count", with_user_count.to_string())], + params: Some(&[("with_user_count", with_user_count.to_string())]), }) .await } @@ -3953,7 +3946,7 @@ impl Http { guild_id, event_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -3969,7 +3962,7 @@ impl Http { route: Route::GuildStickers { guild_id, }, - params: &[], + params: None, }) .await?; @@ -4000,7 +3993,7 @@ impl Http { guild_id, sticker_id, }, - params: &[], + params: None, }) .await?; @@ -4040,7 +4033,7 @@ impl Http { route: Route::GuildWebhooks { guild_id, }, - params: &[], + params: None, }) .await } @@ -4093,7 +4086,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::UserMeGuilds, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -4137,7 +4130,7 @@ impl Http { route: Route::UserMeGuildMember { guild_id, }, - params: &[], + params: None, }) .await?; @@ -4184,7 +4177,7 @@ impl Http { route: Route::Invite { code, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -4201,7 +4194,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await?; @@ -4227,7 +4220,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -4259,7 +4252,7 @@ impl Http { route: Route::ChannelMessages { channel_id, }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -4274,7 +4267,7 @@ impl Http { route: Route::StickerPack { sticker_pack_id, }, - params: &[], + params: None, }) .await } @@ -4292,7 +4285,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::StickerPacks, - params: &[], + params: None, }) .await .map(|s: StickerPacks| s.sticker_packs) @@ -4308,7 +4301,7 @@ impl Http { route: Route::ChannelPins { channel_id, }, - params: &[], + params: None, }) .await } @@ -4337,7 +4330,7 @@ impl Http { message_id, reaction: &reaction_type.as_data(), }, - params: ¶ms, + params: Some(¶ms), }) .await } @@ -4352,7 +4345,7 @@ impl Http { route: Route::Skus { application_id: self.try_application_id()?, }, - params: &[], + params: None, }) .await } @@ -4367,7 +4360,7 @@ impl Http { route: Route::Sticker { sticker_id, }, - params: &[], + params: None, }) .await } @@ -4389,7 +4382,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::StatusIncidentsUnresolved, - params: &[], + params: None, }) .await?; @@ -4413,7 +4406,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::StatusMaintenancesUpcoming, - params: &[], + params: None, }) .await?; @@ -4430,7 +4423,7 @@ impl Http { route: Route::User { user_id, }, - params: &[], + params: None, }) .await } @@ -4447,7 +4440,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::UserMeConnections, - params: &[], + params: None, }) .await } @@ -4460,7 +4453,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::UserMeDmChannels, - params: &[], + params: None, }) .await } @@ -4473,7 +4466,7 @@ impl Http { headers: None, method: LightMethod::Get, route: Route::VoiceRegions, - params: &[], + params: None, }) .await } @@ -4507,7 +4500,7 @@ impl Http { route: Route::Webhook { webhook_id, }, - params: &[], + params: None, }) .await } @@ -4547,7 +4540,7 @@ impl Http { webhook_id, token, }, - params: &[], + params: None, }) .await } @@ -4584,7 +4577,7 @@ impl Http { webhook_id, token, }, - params: &[], + params: None, }) .await } @@ -4605,7 +4598,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await } @@ -4620,7 +4613,7 @@ impl Http { route: Route::UserMeGuild { guild_id, }, - params: &[], + params: None, }) .await } @@ -4644,7 +4637,7 @@ impl Http { route: Route::ChannelMessages { channel_id, }, - params: &[], + params: None, }; if files.is_empty() { @@ -4676,7 +4669,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -4697,7 +4690,7 @@ impl Http { guild_id, user_id, }, - params: &[], + params: None, }) .await } @@ -4724,7 +4717,7 @@ impl Http { user_id, role_id, }, - params: &[], + params: None, }) .await } @@ -4746,10 +4739,10 @@ impl Http { route: Route::GuildMembersSearch { guild_id, }, - params: &[ + params: Some(&[ ("query", query.to_string()), ("limit", limit.unwrap_or(constants::MEMBER_FETCH_LIMIT).to_string()), - ], + ]), }) .await?; @@ -4779,7 +4772,7 @@ impl Http { route: Route::GuildPrune { guild_id, }, - params: &[("days", days.to_string())], + params: Some(&[("days", days.to_string())]), }) .await } @@ -4799,7 +4792,7 @@ impl Http { guild_id, integration_id, }, - params: &[], + params: None, }) .await } @@ -4860,7 +4853,7 @@ impl Http { channel_id, message_id, }, - params: &[], + params: None, }) .await } @@ -4890,7 +4883,7 @@ impl Http { /// let channel_id = ChannelId::new(381880193700069377); /// let route = Route::ChannelMessages { channel_id }; /// - /// let mut request = Request::new(route, LightMethod::Post, &[]).body(Some(bytes)); + /// let mut request = Request::new(route, LightMethod::Post).body(Some(bytes)); /// /// let message: Message = http.fire(request).await?; /// @@ -4930,7 +4923,7 @@ impl Http { /// let channel_id = ChannelId::new(381880193700069377); /// let route = Route::ChannelMessages { channel_id }; /// - /// let mut request = Request::new(route, LightMethod::Post, &[]).body(Some(bytes)); + /// let mut request = Request::new(route, LightMethod::Post).body(Some(bytes)); /// /// let response = http.request(request).await?; /// diff --git a/src/http/request.rs b/src/http/request.rs index f02aa03a01e..b5541670306 100644 --- a/src/http/request.rs +++ b/src/http/request.rs @@ -25,22 +25,18 @@ pub struct Request<'a> { pub(super) headers: Option, pub(super) method: LightMethod, pub(super) route: Route<'a>, - pub(super) params: &'a [(&'static str, String)], + pub(super) params: Option<&'a [(&'static str, String)]>, } impl<'a> Request<'a> { - pub fn new( - route: Route<'a>, - method: LightMethod, - params: &'a [(&'static str, String)], - ) -> Self { + pub fn new(route: Route<'a>, method: LightMethod) -> Self { Self { body: None, multipart: None, headers: None, method, route, - params, + params: None, } } @@ -60,7 +56,11 @@ impl<'a> Request<'a> { } pub fn params(mut self, params: &'a [(&'static str, String)]) -> Self { - self.params = params; + if params.is_empty() { + self.params = None; + } else { + self.params = Some(params); + } self } @@ -78,9 +78,9 @@ impl<'a> Request<'a> { path = path.replace("https://discord.com", proxy.trim_end_matches('/')); } - if !self.params.is_empty() { + if let Some(params) = self.params { path += "?"; - for (param, value) in self.params { + for (param, value) in params { write!(path, "&{param}={value}").unwrap(); } } @@ -138,11 +138,7 @@ impl<'a> Request<'a> { } #[must_use] - pub fn params_ref(&self) -> Option<&[(&'static str, String)]> { - if self.params.is_empty() { - None - } else { - Some(self.params) - } + pub fn params_ref(&self) -> Option<&'a [(&'static str, String)]> { + self.params } }