mirror of https://github.com/hashicorp/consul
33 lines
996 B
Go
33 lines
996 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package api
|
|
|
|
// Raw can be used to do raw queries against custom endpoints
|
|
type Raw struct {
|
|
c *Client
|
|
}
|
|
|
|
// Raw returns a handle to query endpoints
|
|
func (c *Client) Raw() *Raw {
|
|
return &Raw{c}
|
|
}
|
|
|
|
// Query is used to do a GET request against an endpoint
|
|
// and deserialize the response into an interface using
|
|
// standard Consul conventions.
|
|
func (raw *Raw) Query(endpoint string, out interface{}, q *QueryOptions) (*QueryMeta, error) {
|
|
return raw.c.query(endpoint, out, q)
|
|
}
|
|
|
|
// Write is used to do a PUT request against an endpoint
|
|
// and serialize/deserialized using the standard Consul conventions.
|
|
func (raw *Raw) Write(endpoint string, in, out interface{}, q *WriteOptions) (*WriteMeta, error) {
|
|
return raw.c.write(endpoint, in, out, q)
|
|
}
|
|
|
|
// Delete is used to do a DELETE request against an endpoint
|
|
func (raw *Raw) Delete(endpoint string, q *QueryOptions) (*WriteMeta, error) {
|
|
return raw.c.delete(endpoint, q)
|
|
}
|