11package cloudflare
22
33import (
4+ "context"
45 "encoding/json"
56 "fmt"
7+ "net/http"
68 "net/url"
79 "strconv"
810 "time"
@@ -60,18 +62,18 @@ type AccessApplicationDetailResponse struct {
6062// AccessApplications returns all applications within an account.
6163//
6264// API reference: https://api.cloudflare.com/#access-applications-list-access-applications
63- func (api * API ) AccessApplications (accountID string , pageOpts PaginationOptions ) ([]AccessApplication , ResultInfo , error ) {
64- return api .accessApplications (accountID , pageOpts , AccountRouteRoot )
65+ func (api * API ) AccessApplications (ctx context. Context , accountID string , pageOpts PaginationOptions ) ([]AccessApplication , ResultInfo , error ) {
66+ return api .accessApplications (ctx , accountID , pageOpts , AccountRouteRoot )
6567}
6668
6769// ZoneLevelAccessApplications returns all applications within a zone.
6870//
6971// API reference: https://api.cloudflare.com/#zone-level-access-applications-list-access-applications
70- func (api * API ) ZoneLevelAccessApplications (zoneID string , pageOpts PaginationOptions ) ([]AccessApplication , ResultInfo , error ) {
71- return api .accessApplications (zoneID , pageOpts , ZoneRouteRoot )
72+ func (api * API ) ZoneLevelAccessApplications (ctx context. Context , zoneID string , pageOpts PaginationOptions ) ([]AccessApplication , ResultInfo , error ) {
73+ return api .accessApplications (ctx , zoneID , pageOpts , ZoneRouteRoot )
7274}
7375
74- func (api * API ) accessApplications (id string , pageOpts PaginationOptions , routeRoot RouteRoot ) ([]AccessApplication , ResultInfo , error ) {
76+ func (api * API ) accessApplications (ctx context. Context , id string , pageOpts PaginationOptions , routeRoot RouteRoot ) ([]AccessApplication , ResultInfo , error ) {
7577 v := url.Values {}
7678 if pageOpts .PerPage > 0 {
7779 v .Set ("per_page" , strconv .Itoa (pageOpts .PerPage ))
@@ -85,9 +87,9 @@ func (api *API) accessApplications(id string, pageOpts PaginationOptions, routeR
8587 uri = uri + "?" + v .Encode ()
8688 }
8789
88- res , err := api .makeRequest ( "GET" , uri , nil )
90+ res , err := api .makeRequestContext ( ctx , http . MethodGet , uri , nil )
8991 if err != nil {
90- return []AccessApplication {}, ResultInfo {}, errors . Wrap ( err , errMakeRequestError )
92+ return []AccessApplication {}, ResultInfo {}, err
9193 }
9294
9395 var accessApplicationListResponse AccessApplicationListResponse
@@ -103,29 +105,29 @@ func (api *API) accessApplications(id string, pageOpts PaginationOptions, routeR
103105// application ID.
104106//
105107// API reference: https://api.cloudflare.com/#access-applications-access-applications-details
106- func (api * API ) AccessApplication (accountID , applicationID string ) (AccessApplication , error ) {
107- return api .accessApplication (accountID , applicationID , AccountRouteRoot )
108+ func (api * API ) AccessApplication (ctx context. Context , accountID , applicationID string ) (AccessApplication , error ) {
109+ return api .accessApplication (ctx , accountID , applicationID , AccountRouteRoot )
108110}
109111
110112// ZoneLevelAccessApplication returns a single zone level application based on the
111113// application ID.
112114//
113115// API reference: https://api.cloudflare.com/#zone-level-access-applications-access-applications-details
114- func (api * API ) ZoneLevelAccessApplication (zoneID , applicationID string ) (AccessApplication , error ) {
115- return api .accessApplication (zoneID , applicationID , ZoneRouteRoot )
116+ func (api * API ) ZoneLevelAccessApplication (ctx context. Context , zoneID , applicationID string ) (AccessApplication , error ) {
117+ return api .accessApplication (ctx , zoneID , applicationID , ZoneRouteRoot )
116118}
117119
118- func (api * API ) accessApplication (id , applicationID string , routeRoot RouteRoot ) (AccessApplication , error ) {
120+ func (api * API ) accessApplication (ctx context. Context , id , applicationID string , routeRoot RouteRoot ) (AccessApplication , error ) {
119121 uri := fmt .Sprintf (
120122 "/%s/%s/access/apps/%s" ,
121123 routeRoot ,
122124 id ,
123125 applicationID ,
124126 )
125127
126- res , err := api .makeRequest ( "GET" , uri , nil )
128+ res , err := api .makeRequestContext ( ctx , http . MethodGet , uri , nil )
127129 if err != nil {
128- return AccessApplication {}, errors . Wrap ( err , errMakeRequestError )
130+ return AccessApplication {}, err
129131 }
130132
131133 var accessApplicationDetailResponse AccessApplicationDetailResponse
@@ -140,23 +142,23 @@ func (api *API) accessApplication(id, applicationID string, routeRoot RouteRoot)
140142// CreateAccessApplication creates a new access application.
141143//
142144// API reference: https://api.cloudflare.com/#access-applications-create-access-application
143- func (api * API ) CreateAccessApplication (accountID string , accessApplication AccessApplication ) (AccessApplication , error ) {
144- return api .createAccessApplication (accountID , accessApplication , AccountRouteRoot )
145+ func (api * API ) CreateAccessApplication (ctx context. Context , accountID string , accessApplication AccessApplication ) (AccessApplication , error ) {
146+ return api .createAccessApplication (ctx , accountID , accessApplication , AccountRouteRoot )
145147}
146148
147149// CreateZoneLevelAccessApplication creates a new zone level access application.
148150//
149151// API reference: https://api.cloudflare.com/#zone-level-access-applications-create-access-application
150- func (api * API ) CreateZoneLevelAccessApplication (zoneID string , accessApplication AccessApplication ) (AccessApplication , error ) {
151- return api .createAccessApplication (zoneID , accessApplication , ZoneRouteRoot )
152+ func (api * API ) CreateZoneLevelAccessApplication (ctx context. Context , zoneID string , accessApplication AccessApplication ) (AccessApplication , error ) {
153+ return api .createAccessApplication (ctx , zoneID , accessApplication , ZoneRouteRoot )
152154}
153155
154- func (api * API ) createAccessApplication (id string , accessApplication AccessApplication , routeRoot RouteRoot ) (AccessApplication , error ) {
156+ func (api * API ) createAccessApplication (ctx context. Context , id string , accessApplication AccessApplication , routeRoot RouteRoot ) (AccessApplication , error ) {
155157 uri := fmt .Sprintf ("/%s/%s/access/apps" , routeRoot , id )
156158
157- res , err := api .makeRequest ( "POST" , uri , accessApplication )
159+ res , err := api .makeRequestContext ( ctx , http . MethodPost , uri , accessApplication )
158160 if err != nil {
159- return AccessApplication {}, errors . Wrap ( err , errMakeRequestError )
161+ return AccessApplication {}, err
160162 }
161163
162164 var accessApplicationDetailResponse AccessApplicationDetailResponse
@@ -171,18 +173,18 @@ func (api *API) createAccessApplication(id string, accessApplication AccessAppli
171173// UpdateAccessApplication updates an existing access application.
172174//
173175// API reference: https://api.cloudflare.com/#access-applications-update-access-application
174- func (api * API ) UpdateAccessApplication (accountID string , accessApplication AccessApplication ) (AccessApplication , error ) {
175- return api .updateAccessApplication (accountID , accessApplication , AccountRouteRoot )
176+ func (api * API ) UpdateAccessApplication (ctx context. Context , accountID string , accessApplication AccessApplication ) (AccessApplication , error ) {
177+ return api .updateAccessApplication (ctx , accountID , accessApplication , AccountRouteRoot )
176178}
177179
178180// UpdateZoneLevelAccessApplication updates an existing zone level access application.
179181//
180182// API reference: https://api.cloudflare.com/#zone-level-access-applications-update-access-application
181- func (api * API ) UpdateZoneLevelAccessApplication (zoneID string , accessApplication AccessApplication ) (AccessApplication , error ) {
182- return api .updateAccessApplication (zoneID , accessApplication , ZoneRouteRoot )
183+ func (api * API ) UpdateZoneLevelAccessApplication (ctx context. Context , zoneID string , accessApplication AccessApplication ) (AccessApplication , error ) {
184+ return api .updateAccessApplication (ctx , zoneID , accessApplication , ZoneRouteRoot )
183185}
184186
185- func (api * API ) updateAccessApplication (id string , accessApplication AccessApplication , routeRoot RouteRoot ) (AccessApplication , error ) {
187+ func (api * API ) updateAccessApplication (ctx context. Context , id string , accessApplication AccessApplication , routeRoot RouteRoot ) (AccessApplication , error ) {
186188 if accessApplication .ID == "" {
187189 return AccessApplication {}, errors .Errorf ("access application ID cannot be empty" )
188190 }
@@ -194,9 +196,9 @@ func (api *API) updateAccessApplication(id string, accessApplication AccessAppli
194196 accessApplication .ID ,
195197 )
196198
197- res , err := api .makeRequest ( "PUT" , uri , accessApplication )
199+ res , err := api .makeRequestContext ( ctx , http . MethodPut , uri , accessApplication )
198200 if err != nil {
199- return AccessApplication {}, errors . Wrap ( err , errMakeRequestError )
201+ return AccessApplication {}, err
200202 }
201203
202204 var accessApplicationDetailResponse AccessApplicationDetailResponse
@@ -211,28 +213,28 @@ func (api *API) updateAccessApplication(id string, accessApplication AccessAppli
211213// DeleteAccessApplication deletes an access application.
212214//
213215// API reference: https://api.cloudflare.com/#access-applications-delete-access-application
214- func (api * API ) DeleteAccessApplication (accountID , applicationID string ) error {
215- return api .deleteAccessApplication (accountID , applicationID , AccountRouteRoot )
216+ func (api * API ) DeleteAccessApplication (ctx context. Context , accountID , applicationID string ) error {
217+ return api .deleteAccessApplication (ctx , accountID , applicationID , AccountRouteRoot )
216218}
217219
218220// DeleteZoneLevelAccessApplication deletes a zone level access application.
219221//
220222// API reference: https://api.cloudflare.com/#zone-level-access-applications-delete-access-application
221- func (api * API ) DeleteZoneLevelAccessApplication (zoneID , applicationID string ) error {
222- return api .deleteAccessApplication (zoneID , applicationID , ZoneRouteRoot )
223+ func (api * API ) DeleteZoneLevelAccessApplication (ctx context. Context , zoneID , applicationID string ) error {
224+ return api .deleteAccessApplication (ctx , zoneID , applicationID , ZoneRouteRoot )
223225}
224226
225- func (api * API ) deleteAccessApplication (id , applicationID string , routeRoot RouteRoot ) error {
227+ func (api * API ) deleteAccessApplication (ctx context. Context , id , applicationID string , routeRoot RouteRoot ) error {
226228 uri := fmt .Sprintf (
227229 "/%s/%s/access/apps/%s" ,
228230 routeRoot ,
229231 id ,
230232 applicationID ,
231233 )
232234
233- _ , err := api .makeRequest ( "DELETE" , uri , nil )
235+ _ , err := api .makeRequestContext ( ctx , http . MethodDelete , uri , nil )
234236 if err != nil {
235- return errors . Wrap ( err , errMakeRequestError )
237+ return err
236238 }
237239
238240 return nil
@@ -242,29 +244,29 @@ func (api *API) deleteAccessApplication(id, applicationID string, routeRoot Rout
242244// access application.
243245//
244246// API reference: https://api.cloudflare.com/#access-applications-revoke-access-tokens
245- func (api * API ) RevokeAccessApplicationTokens (accountID , applicationID string ) error {
246- return api .revokeAccessApplicationTokens (accountID , applicationID , AccountRouteRoot )
247+ func (api * API ) RevokeAccessApplicationTokens (ctx context. Context , accountID , applicationID string ) error {
248+ return api .revokeAccessApplicationTokens (ctx , accountID , applicationID , AccountRouteRoot )
247249}
248250
249251// RevokeZoneLevelAccessApplicationTokens revokes tokens associated with a zone level
250252// access application.
251253//
252254// API reference: https://api.cloudflare.com/#zone-level-access-applications-revoke-access-tokens
253- func (api * API ) RevokeZoneLevelAccessApplicationTokens (zoneID , applicationID string ) error {
254- return api .revokeAccessApplicationTokens (zoneID , applicationID , ZoneRouteRoot )
255+ func (api * API ) RevokeZoneLevelAccessApplicationTokens (ctx context. Context , zoneID , applicationID string ) error {
256+ return api .revokeAccessApplicationTokens (ctx , zoneID , applicationID , ZoneRouteRoot )
255257}
256258
257- func (api * API ) revokeAccessApplicationTokens (id string , applicationID string , routeRoot RouteRoot ) error {
259+ func (api * API ) revokeAccessApplicationTokens (ctx context. Context , id string , applicationID string , routeRoot RouteRoot ) error {
258260 uri := fmt .Sprintf (
259261 "/%s/%s/access/apps/%s/revoke-tokens" ,
260262 routeRoot ,
261263 id ,
262264 applicationID ,
263265 )
264266
265- _ , err := api .makeRequest ( "POST" , uri , nil )
267+ _ , err := api .makeRequestContext ( ctx , http . MethodPost , uri , nil )
266268 if err != nil {
267- return errors . Wrap ( err , errMakeRequestError )
269+ return err
268270 }
269271
270272 return nil
0 commit comments