44 "context"
55 "errors"
66 "fmt"
7- "net/http"
87
98 "github.com/go-viper/mapstructure/v2"
109 "github.com/hashicorp/vault-client-go"
@@ -18,11 +17,7 @@ func LookupWithAppRole(ctx context.Context, vaultAddr, caCertFile, roleID, secre
1817 }
1918 resp , err := client .Auth .AppRoleLogin (ctx , schema.AppRoleLoginRequest {RoleId : roleID , SecretId : secretID })
2019 if err != nil {
21- var verr * vault.ResponseError
22- if errors .As (err , & verr ) && verr .OriginalRequest != nil {
23- return nil , expandError (verr .OriginalRequest , err )
24- }
25- return nil , fmt .Errorf ("approle.Login: %w" , err )
20+ return nil , fmt .Errorf ("approle.Login: %w" , responseError (err ))
2621 }
2722 if err = client .SetToken (resp .Auth .ClientToken ); err != nil {
2823 return nil , fmt .Errorf ("approle.SetToken: %w" , err )
@@ -60,11 +55,7 @@ func newClient(vaultAddr, caCertFile string) (*vault.Client, error) {
6055func lookup (ctx context.Context , client * vault.Client , path string ) (* Config , error ) {
6156 secret , err := client .Read (ctx , path )
6257 if err != nil {
63- var verr * vault.ResponseError
64- if errors .As (err , & verr ) && verr .OriginalRequest != nil {
65- return nil , expandError (verr .OriginalRequest , err )
66- }
67- return nil , fmt .Errorf ("vault.Read: %w" , err )
58+ return nil , fmt .Errorf ("vault.Read: %w" , responseError (err ))
6859 }
6960 if secret == nil || secret .Data == nil {
7061 return nil , fmt .Errorf ("secret not found at path %q" , path )
@@ -76,8 +67,12 @@ func lookup(ctx context.Context, client *vault.Client, path string) (*Config, er
7667 return & cfg , nil
7768}
7869
79- func expandError (req * http.Request , err error ) error {
80- return fmt .Errorf ("%s %s: %w" , req .Method , req .URL .String (), err )
70+ func responseError (err error ) error {
71+ var verr * vault.ResponseError
72+ if errors .As (err , & verr ) && verr .OriginalRequest != nil {
73+ return fmt .Errorf ("%s %s: %w" , verr .OriginalRequest .Method , verr .OriginalRequest .URL .String (), err )
74+ }
75+ return err
8176}
8277
8378func logout (ctx context.Context , client * vault.Client , shouldLogout bool ) {
0 commit comments