github.com/wtfutil/wtf@v0.43.0/modules/newrelic/client/browser_applications.go (about) 1 package newrelic 2 3 // BrowserApplicationsFilter is the filtering component of 4 // BrowserApplicationsOptions 5 type BrowserApplicationsFilter struct { 6 Name string 7 IDs []int 8 } 9 10 // BrowserApplicationsOptions provides a filtering mechanism for 11 // GetBrowserApplications. 12 type BrowserApplicationsOptions struct { 13 Filter BrowserApplicationsFilter 14 Page int 15 } 16 17 // BrowserApplication describes a New Relic Browser Application. 18 type BrowserApplication struct { 19 ID int `json:"id,omitempty"` 20 Name string `json:"name,omitempty"` 21 BrowserMonitoringKey string `json:"browser_monitoring_key,omitempty"` 22 LoaderScript string `json:"loader_script,omitempty"` 23 } 24 25 // GetBrowserApplications will return a slice of New Relic Browser 26 // Applications, optionally filtered by BrowserApplicationsOptions. 27 func (c *Client) GetBrowserApplications(opt *BrowserApplicationsOptions) ([]BrowserApplication, error) { 28 resp := &struct { 29 BrowserApplications []BrowserApplication `json:"browser_applications,omitempty"` 30 }{} 31 path := "browser_applications.json" 32 err := c.doGet(path, opt, resp) 33 if err != nil { 34 return nil, err 35 } 36 return resp.BrowserApplications, nil 37 } 38 39 func (o *BrowserApplicationsOptions) String() string { 40 if o == nil { 41 return "" 42 } 43 return encodeGetParams(map[string]interface{}{ 44 "filter[name]": o.Filter.Name, 45 "filter[ids]": o.Filter.IDs, 46 "page": o.Page, 47 }) 48 }