From 5ce1b65e5dd61fa9b5a2c39ef1ab54af2ec30f1a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 15 Mar 2015 13:54:20 -0700 Subject: [PATCH] vault: incremental change to get closer to logical structs --- vault/generic.go | 8 ++++---- vault/generic_test.go | 12 ++++++------ vault/logical_backend.go | 4 +++- vault/router.go | 4 ++-- vault/router_test.go | 2 +- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/vault/generic.go b/vault/generic.go index b1e5fb37ff..98e5edcb1b 100644 --- a/vault/generic.go +++ b/vault/generic.go @@ -47,7 +47,7 @@ func (g *GenericBackend) RootPaths() []string { func (g *GenericBackend) handleRead(req *Request) (*Response, error) { // Read the path - out, err := req.View.Get(req.Path) + out, err := req.Storage.Get(req.Path) if err != nil { return nil, fmt.Errorf("read failed: %v", err) } @@ -105,7 +105,7 @@ func (g *GenericBackend) handleWrite(req *Request) (*Response, error) { Key: req.Path, Value: buf, } - if err := req.View.Put(entry); err != nil { + if err := req.Storage.Put(entry); err != nil { return nil, fmt.Errorf("failed to write: %v", err) } return nil, nil @@ -113,7 +113,7 @@ func (g *GenericBackend) handleWrite(req *Request) (*Response, error) { func (g *GenericBackend) handleDelete(req *Request) (*Response, error) { // Delete the key at the request path - if err := req.View.Delete(req.Path); err != nil { + if err := req.Storage.Delete(req.Path); err != nil { return nil, err } return nil, nil @@ -121,7 +121,7 @@ func (g *GenericBackend) handleDelete(req *Request) (*Response, error) { func (g *GenericBackend) handleList(req *Request) (*Response, error) { // List the keys at the prefix given by the request - keys, err := req.View.List(req.Path) + keys, err := req.Storage.List(req.Path) if err != nil { return nil, err } diff --git a/vault/generic_test.go b/vault/generic_test.go index 7c8cadb3b4..566f9df171 100644 --- a/vault/generic_test.go +++ b/vault/generic_test.go @@ -34,7 +34,7 @@ func mockRequest(t *testing.T, op Operation, path string) *Request { Operation: op, Path: path, Data: make(map[string]interface{}), - View: view, + Storage: view, } return req } @@ -68,7 +68,7 @@ func TestGenericBackend_Write(t *testing.T) { t.Fatalf("bad: %v", resp) } - out, err := req.View.Get("foo") + out, err := req.Storage.Get("foo") if err != nil { t.Fatalf("err: %v", err) } @@ -92,7 +92,7 @@ func TestGenericBackend_Read(t *testing.T) { } req2 := mockRequest(t, ReadOperation, "foo") - req2.View = req.View + req2.Storage = req.Storage resp, err := b.HandleRequest(req2) if err != nil { @@ -145,7 +145,7 @@ func TestGenericBackend_Delete(t *testing.T) { } req2 := mockRequest(t, DeleteOperation, "foo") - req2.View = req.View + req2.Storage = req.Storage resp, err := b.HandleRequest(req2) if err != nil { @@ -156,7 +156,7 @@ func TestGenericBackend_Delete(t *testing.T) { } req3 := mockRequest(t, ReadOperation, "foo") - req3.View = req.View + req3.Storage = req.Storage resp, err = b.HandleRequest(req3) if err != nil { @@ -182,7 +182,7 @@ func TestGenericBackend_List(t *testing.T) { } req2 := mockRequest(t, ListOperation, "") - req2.View = req.View + req2.Storage = req.Storage resp, err := b.HandleRequest(req2) if err != nil { diff --git a/vault/logical_backend.go b/vault/logical_backend.go index ccafe1a36a..74a9e9154b 100644 --- a/vault/logical_backend.go +++ b/vault/logical_backend.go @@ -4,6 +4,8 @@ import ( "errors" "fmt" "time" + + "github.com/hashicorp/vault/logical" ) var ( @@ -70,7 +72,7 @@ type Request struct { // View is the storage view of this logical backend. It can be used // to durably store and retrieve state from the backend. - View *BarrierView + Storage logical.Storage } // Get returns a data field and guards for nil Data diff --git a/vault/router.go b/vault/router.go index edb685acb9..3371622939 100644 --- a/vault/router.go +++ b/vault/router.go @@ -116,12 +116,12 @@ func (r *Router) Route(req *Request) (*Response, error) { // Adjust the path, attach the barrier view original := req.Path req.Path = strings.TrimPrefix(req.Path, mount) - req.View = me.view + req.Storage = me.view // Reset the request before returning defer func() { req.Path = original - req.View = nil + req.Storage = nil }() // Invoke the backend diff --git a/vault/router_test.go b/vault/router_test.go index 050f9af6af..cd02a13c93 100644 --- a/vault/router_test.go +++ b/vault/router_test.go @@ -13,7 +13,7 @@ type NoopBackend struct { func (n *NoopBackend) HandleRequest(req *Request) (*Response, error) { n.Paths = append(n.Paths, req.Path) - if req.View == nil { + if req.Storage == nil { return nil, fmt.Errorf("missing view") } return nil, nil