mirror of
https://github.com/hashicorp/vault.git
synced 2026-06-11 01:42:06 -04:00
vault: incremental change to get closer to logical structs
This commit is contained in:
parent
923ff65959
commit
5ce1b65e5d
5 changed files with 16 additions and 14 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue