41 lines
951 B
Go
41 lines
951 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package api
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net/http"
|
|
)
|
|
|
|
// Help wraps HelpWithContext using context.Background.
|
|
func (c *Client) Help(path string) (*Help, error) {
|
|
return c.HelpWithContext(context.Background(), path)
|
|
}
|
|
|
|
// HelpWithContext reads the help information for the given path.
|
|
func (c *Client) HelpWithContext(ctx context.Context, path string) (*Help, error) {
|
|
ctx, cancelFunc := c.withConfiguredTimeout(ctx)
|
|
defer cancelFunc()
|
|
|
|
r := c.NewRequest(http.MethodGet, fmt.Sprintf("/v1/%s", path))
|
|
r.Params.Add("help", "1")
|
|
|
|
resp, err := c.rawRequestWithContext(ctx, r)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
var result Help
|
|
err = resp.DecodeJSON(&result)
|
|
return &result, err
|
|
}
|
|
|
|
type Help struct {
|
|
Help string `json:"help"`
|
|
SeeAlso []string `json:"see_also"`
|
|
OpenAPI map[string]interface{} `json:"openapi"`
|
|
}
|