56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package logical
|
|
|
|
// Response is a struct that stores the response of a request.
|
|
// It is used to abstract the details of the higher level request protocol.
|
|
type Response struct {
|
|
// Secret, if not nil, denotes that this response represents a secret.
|
|
Secret *Secret
|
|
|
|
// Response data is an opaque map that must have string keys. For
|
|
// secrets, this data is sent down to the user as-is. To store internal
|
|
// data that you don't want the user to see, store it in
|
|
// Secret.InternalData.
|
|
Data map[string]interface{}
|
|
}
|
|
|
|
/*
|
|
// Validate is used to sanity check a lease
|
|
func (l *Lease) Validate() error {
|
|
if l.Duration <= 0 {
|
|
return fmt.Errorf("lease duration must be greater than zero")
|
|
}
|
|
if l.GracePeriod < 0 {
|
|
return fmt.Errorf("grace period cannot be less than zero")
|
|
}
|
|
return nil
|
|
}
|
|
*/
|
|
|
|
// HelpResponse is used to format a help response
|
|
func HelpResponse(text string, seeAlso []string) *Response {
|
|
return &Response{
|
|
Data: map[string]interface{}{
|
|
"help": text,
|
|
"see_also": seeAlso,
|
|
},
|
|
}
|
|
}
|
|
|
|
// ErrorResponse is used to format an error response
|
|
func ErrorResponse(text string) *Response {
|
|
return &Response{
|
|
Data: map[string]interface{}{
|
|
"error": text,
|
|
},
|
|
}
|
|
}
|
|
|
|
// ListResponse is used to format a response to a list operation.
|
|
func ListResponse(keys []string) *Response {
|
|
return &Response{
|
|
Data: map[string]interface{}{
|
|
"keys": keys,
|
|
},
|
|
}
|
|
}
|