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
- func (duoapi *DuoApi) Call(method string, uri string, params url.Values, options ...DuoApiOption) (*http.Response, []byte, error)
- func (duoapi *DuoApi) JSONSignedCall(method string, uri string, params JSONParams, options ...DuoApiOption) (*http.Response, []byte, error)
- func (duoapi *DuoApi) SetCustomHTTPClient(c *http.Client)
- func (duoapi *DuoApi) SignedCall(method string, uri string, params url.Values, options ...DuoApiOption) (*http.Response, []byte, error)
- type DuoApiOption
- type JSONParams
- type NullableInt32
- 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) JSONSignedCall ¶
func (duoapi *DuoApi) JSONSignedCall(method string, uri string, params JSONParams, options ...DuoApiOption) (*http.Response, []byte, error)
Make a signed Duo Rest API call that takes JSON as an argument. See Duo's online documentation for the available REST API's. method is one of GET, POST, PATCH, PUT, DELETE uri is the URI of the Duo Rest call json is the JSON parameters to include in the call. options Optional parameters. Use UseTimeout to toggle whether the Duo Rest API call should timeout or not.
Example: params := duoapi.JSONParams{ "user_id": userid, "activation_code": activationCode, } JSONSignedCall("POST", "/auth/v2/enroll_status", params, duoapi.UseTimeout)
func (*DuoApi) SetCustomHTTPClient ¶
SetCustomHTTPClient allows one to set a completely custom http client that will be used to make network calls to the duo api
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)
type JSONParams ¶
type JSONParams map[string]interface{}
type NullableInt32 ¶
type NullableInt32 struct {
// contains filtered or unexported fields
}
func (*NullableInt32) UnmarshalJSON ¶
func (n *NullableInt32) UnmarshalJSON(data []byte) error
type StatResult ¶
type StatResult struct { Stat string `json:"stat"` Ncode NullableInt32 `json:"code"` Code *int32 `json:"-"` Message *string `json:"message"` Message_Detail *string `json:"message_detail"` }
API calls will return a StatResult object. On success, Stat is 'OK'. On error, Stat is 'FAIL', and Code, Message, and Message_Detail contain error information.
func (*StatResult) SyncCode ¶
func (s *StatResult) SyncCode()