Make Registered::complete() accept an AsRef<str>
This patch changes the signature of `Registered::complete` to accept an `AsRef<str>`. This _should_ be backwards compatible to the old version. This change was implemented as it has the neat benefit that a user can implement a type that does not implement `Debug` or `Display`, but only `AsRef<str>`. This can be done to ensure that the access code is not accidentially shown in log output, which might be pasted to some code forge for bug reporting. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
This commit is contained in:
parent
f037379d0f
commit
c32f628c49
|
@ -336,11 +336,15 @@ impl Registered {
|
|||
|
||||
/// Create an access token from the client id, client secret, and code
|
||||
/// provided by the authorization url.
|
||||
pub async fn complete(&self, code: &str) -> Result<Mastodon> {
|
||||
let url = format!(
|
||||
pub async fn complete<C>(&self, code: C) -> Result<Mastodon>
|
||||
where
|
||||
C: AsRef<str>,
|
||||
{
|
||||
let url =
|
||||
format!(
|
||||
"{}/oauth/token?client_id={}&client_secret={}&code={}&grant_type=authorization_code&\
|
||||
redirect_uri={}",
|
||||
self.base, self.client_id, self.client_secret, code, self.redirect
|
||||
self.base, self.client_id, self.client_secret, code.as_ref(), self.redirect
|
||||
);
|
||||
debug!(url = url; "completing registration");
|
||||
let response = self.client.post(&url).send().await?;
|
||||
|
|
Loading…
Reference in New Issue