File tree 2 files changed +16
-12
lines changed
2 files changed +16
-12
lines changed Original file line number Diff line number Diff line change @@ -834,19 +834,23 @@ pub fn registry_login(
834
834
if generate_keypair {
835
835
assert ! ( !secret_key_required) ;
836
836
let kp = AsymmetricKeyPair :: < pasetors:: version3:: V3 > :: generate ( ) . unwrap ( ) ;
837
- let mut key = String :: new ( ) ;
838
- FormatAsPaserk :: fmt ( & kp. secret , & mut key) . unwrap ( ) ;
839
- secret_key = Secret :: from ( key) ;
837
+ secret_key = Secret :: default ( ) . map ( |mut key| {
838
+ FormatAsPaserk :: fmt ( & kp. secret , & mut key) . unwrap ( ) ;
839
+ key
840
+ } ) ;
840
841
} else if secret_key_required {
841
842
assert ! ( !generate_keypair) ;
842
843
drop_println ! ( config, "please paste the API secret key below" ) ;
843
- let mut line = String :: new ( ) ;
844
- let input = io:: stdin ( ) ;
845
- input
846
- . lock ( )
847
- . read_line ( & mut line)
848
- . with_context ( || "failed to read stdin" ) ?;
849
- secret_key = Secret :: from ( line. trim ( ) . to_string ( ) ) ;
844
+ secret_key = Secret :: default ( )
845
+ . map ( |mut line| {
846
+ let input = io:: stdin ( ) ;
847
+ input
848
+ . lock ( )
849
+ . read_line ( & mut line)
850
+ . with_context ( || "failed to read stdin" )
851
+ . map ( |_| line. trim ( ) . to_string ( ) )
852
+ } )
853
+ . transpose ( ) ?;
850
854
} else {
851
855
secret_key = old_secret_key
852
856
. cloned ( )
Original file line number Diff line number Diff line change @@ -34,9 +34,9 @@ use super::config::CredentialCacheValue;
34
34
/// ```
35
35
///
36
36
/// Currently, we write a borrowed `Secret<T>` as `Secret<&T>`.
37
- /// The [`as_deref`](Secret::as_deref) and [`owned`](Secret::owned) methods can
37
+ /// The [`as_deref`](Secret::as_deref) and [`owned`](Secret::owned) methods can
38
38
/// be used to convert back and forth between `Secret<String>` and `Secret<&str>`.
39
- #[ derive( Clone , PartialEq , Eq ) ]
39
+ #[ derive( Default , Clone , PartialEq , Eq ) ]
40
40
pub struct Secret < T > {
41
41
inner : T ,
42
42
}
You can’t perform that action at this time.
0 commit comments