aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/hashicorp/vault/api/logical.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/vault/api/logical.go')
-rw-r--r--vendor/github.com/hashicorp/vault/api/logical.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/vendor/github.com/hashicorp/vault/api/logical.go b/vendor/github.com/hashicorp/vault/api/logical.go
index 9753e96..0d5e7d4 100644
--- a/vendor/github.com/hashicorp/vault/api/logical.go
+++ b/vendor/github.com/hashicorp/vault/api/logical.go
@@ -119,9 +119,13 @@ func (c *Logical) Delete(path string) (*Secret, error) {
func (c *Logical) Unwrap(wrappingToken string) (*Secret, error) {
var data map[string]interface{}
- if wrappingToken != "" && wrappingToken != c.c.Token() {
- data = map[string]interface{}{
- "token": wrappingToken,
+ if wrappingToken != "" {
+ if c.c.Token() == "" {
+ c.c.SetToken(wrappingToken)
+ } else if wrappingToken != c.c.Token() {
+ data = map[string]interface{}{
+ "token": wrappingToken,
+ }
}
}
@@ -134,8 +138,13 @@ func (c *Logical) Unwrap(wrappingToken string) (*Secret, error) {
if resp != nil {
defer resp.Body.Close()
}
- if err != nil && resp.StatusCode != 404 {
- return nil, err
+ if err != nil {
+ if resp != nil && resp.StatusCode != 404 {
+ return nil, err
+ }
+ }
+ if resp == nil {
+ return nil, nil
}
switch resp.StatusCode {