File tree Expand file tree Collapse file tree 2 files changed +16
-12
lines changed Expand file tree Collapse file tree 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(
834834 if generate_keypair {
835835 assert ! ( !secret_key_required) ;
836836 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+ } ) ;
840841 } else if secret_key_required {
841842 assert ! ( !generate_keypair) ;
842843 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 ( ) ?;
850854 } else {
851855 secret_key = old_secret_key
852856 . cloned ( )
Original file line number Diff line number Diff line change @@ -34,9 +34,9 @@ use super::config::CredentialCacheValue;
3434/// ```
3535///
3636/// 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
3838/// be used to convert back and forth between `Secret<String>` and `Secret<&str>`.
39- #[ derive( Clone , PartialEq , Eq ) ]
39+ #[ derive( Default , Clone , PartialEq , Eq ) ]
4040pub struct Secret < T > {
4141 inner : T ,
4242}
You can’t perform that action at this time.
0 commit comments