Skip to content

Commit e01b5fd

Browse files
committed
Modularize retrieval of AuthorizedUserRefreshToken data
1 parent 3a33cd3 commit e01b5fd

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/config_default_credentials.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use std::fs;
21
use std::sync::Arc;
32

43
use async_trait::async_trait;
@@ -35,11 +34,7 @@ impl ConfigDefaultCredentials {
3534
let mut home = home::home_dir().ok_or(Error::Str("home directory not found"))?;
3635
home.push(USER_CREDENTIALS_PATH);
3736

38-
let file = fs::File::open(home)
39-
.map_err(|err| Error::Io("failed to open user credentials path", err))?;
40-
let credentials = serde_json::from_reader::<_, AuthorizedUserRefreshToken>(file)
41-
.map_err(|err| Error::Json("failed to deserialize UserCredentials", err))?;
42-
37+
let credentials = AuthorizedUserRefreshToken::from_file(&home)?;
4338
debug!(project = ?credentials.quota_project_id, client = credentials.client_id, "found user credentials");
4439

4540
Ok(Self {

src/types.rs

+9
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,15 @@ pub(crate) struct AuthorizedUserRefreshToken {
286286
pub(crate) refresh_token: String,
287287
}
288288

289+
impl AuthorizedUserRefreshToken {
290+
pub(crate) fn from_file(path: impl AsRef<Path>) -> Result<Self, Error> {
291+
let file = File::open(path.as_ref())
292+
.map_err(|err| Error::Io("failed to open application credentials file", err))?;
293+
serde_json::from_reader(file)
294+
.map_err(|err| Error::Json("failed to deserialize ApplicationCredentials", err))
295+
}
296+
}
297+
289298
impl fmt::Debug for AuthorizedUserRefreshToken {
290299
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
291300
f.debug_struct("UserCredentials")

0 commit comments

Comments
 (0)