Skip to content

Commit 1426b77

Browse files
authored
Merge pull request #594 from cloudflare/0.14
0.14
2 parents d0faef2 + c237d53 commit 1426b77

File tree

129 files changed

+2839
-2568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+2839
-2568
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ jobs:
44
test:
55
strategy:
66
matrix:
7-
go-version: [1.14, 1.15]
7+
go-version: [1.15, 1.16]
88
os: [ubuntu-latest, macos-latest, windows-latest]
99
runs-on: ${{ matrix.os }}
1010
steps:

access_application.go

Lines changed: 44 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package cloudflare
22

33
import (
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

Comments
 (0)