29 lines
683 B
Go
29 lines
683 B
Go
|
package cache
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/hashicorp/vault/api"
|
||
|
)
|
||
|
|
||
|
// SendRequest is the input for Proxier.Send.
|
||
|
type SendRequest struct {
|
||
|
Token string
|
||
|
Request *http.Request
|
||
|
RequestBody []byte
|
||
|
}
|
||
|
|
||
|
// SendResponse is the output from Proxier.Send.
|
||
|
type SendResponse struct {
|
||
|
Response *api.Response
|
||
|
ResponseBody []byte
|
||
|
}
|
||
|
|
||
|
// Proxier is the interface implemented by different components that are
|
||
|
// responsible for performing specific tasks, such as caching and proxying. All
|
||
|
// these tasks combined together would serve the request received by the agent.
|
||
|
type Proxier interface {
|
||
|
Send(ctx context.Context, req *SendRequest) (*SendResponse, error)
|
||
|
}
|