Documentation ¶
Index ¶
- func SetInsecure() func(*apiOptions)
- func SetProxy(proxy func(*http.Request) (*url.URL, error)) func(*apiOptions)
- func SetTimeout(timeout time.Duration) func(*apiOptions)
- func SetTransport(transport func(*http.Transport)) func(*apiOptions)
- func UseTimeout(opts *requestOptions)
- type DuoApi
- type DuoApiOption
- type StatResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetInsecure ¶
func SetInsecure() func(*apiOptions)
Optional parameter for testing only. Bypasses all TLS certificate validation.
func SetProxy ¶
Optional parameter for NewDuoApi, used to configure an HTTP Connect proxy server for all outbound communications.
func SetTimeout ¶
Optional parameter for NewDuoApi, used to configure timeouts on API calls.
func SetTransport ¶
SetTransport enables additional control over the HTTP transport used to connect to the Duo API.
func UseTimeout ¶
func UseTimeout(opts *requestOptions)
Pass to Request or SignedRequest to configure a timeout on the request
Types ¶
type DuoApi ¶
type DuoApi struct {
// contains filtered or unexported fields
}
func NewDuoApi ¶
func NewDuoApi(ikey string, skey string, host string, userAgent string, options ...func(*apiOptions)) *DuoApi
Build an return a DuoApi struct. ikey is your Duo integration key skey is your Duo integration secret key host is your Duo host userAgent allows you to specify the user agent string used when making
the web request to Duo. Information about the client will be appended to the userAgent.
options are optional parameters. Use SetTimeout() to specify a timeout value
for Rest API calls. Use SetProxy() to specify proxy settings for Duo API calls.
Example: duoapi.NewDuoApi(ikey,skey,host,userAgent,duoapi.SetTimeout(10*time.Second))
func (*DuoApi) Call ¶
func (duoapi *DuoApi) Call(method string, uri string, params url.Values, options ...DuoApiOption) (*http.Response, []byte, error)
Make an unsigned Duo Rest API call. See Duo's online documentation for the available REST API's. method is POST or GET uri is the URI of the Duo Rest call params HTTP query parameters to include in the call. options Optional parameters. Use UseTimeout to toggle whether the
Duo Rest API call should timeout or not.
Example: duo.Call("GET", "/auth/v2/ping", nil, duoapi.UseTimeout)
func (*DuoApi) SignedCall ¶
func (duoapi *DuoApi) SignedCall(method string, uri string, params url.Values, options ...DuoApiOption) (*http.Response, []byte, error)
Make a signed Duo Rest API call. See Duo's online documentation for the available REST API's. method is POST or GET uri is the URI of the Duo Rest call params HTTP query parameters to include in the call. options Optional parameters. Use UseTimeout to toggle whether the
Duo Rest API call should timeout or not.
Example: duo.SignedCall("GET", "/auth/v2/check", nil, duoapi.UseTimeout)
type DuoApiOption ¶
type DuoApiOption func(*requestOptions)