cloudflare_client_rb 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6caad8ab3e2fc3f8e7c5c7ab755403d6fbd59461
|
4
|
+
data.tar.gz: e0161d72bb3ed8aea7e7a060d9c9b4595c76e813
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b5cfcca92054684809d2f12a901dd599855ddadc7973f366d66424547e10da3acce604efd3b0aaa8c8f978b989a659bd70e765b0838cab8acaa5a51d64d080b
|
7
|
+
data.tar.gz: 0e4ace9d2131291d5c318da8dd34eb502af686e45b28be312cc91c9c8823064fbc858d675a82107f05e7d52d9503852c807b7fab938272d07e428a9ed1f9074c
|
@@ -9,9 +9,8 @@ class CloudflareClient::Zone::CustomHostname < CloudflareClient::Zone::Base
|
|
9
9
|
# create custom_hostname
|
10
10
|
# - :custom_metadata may only work for enterprise or better customers
|
11
11
|
# - :ssl has undocumented properties: 'custom_certificate' and 'custom_key', or can be nulled
|
12
|
-
def create(hostname:, ssl: DEFAULT_SSL_PROPERTIES, custom_metadata: {})
|
12
|
+
def create(hostname:, ssl: DEFAULT_SSL_PROPERTIES, custom_metadata: {}, custom_origin_server: nil)
|
13
13
|
#FIXME: implement checks for the custom_metedata/find out of it's going to be exposed to anyone else
|
14
|
-
#"custom_metadata":{"origin_override":"hostname.zendesk.com"}
|
15
14
|
#"custom_metadata":{"hsts_enabled":"true"}
|
16
15
|
#"custom_metadata":{"hsts_enabled":"true","custom_maxage":value}
|
17
16
|
id_check('hostname', hostname)
|
@@ -22,6 +21,7 @@ class CloudflareClient::Zone::CustomHostname < CloudflareClient::Zone::Base
|
|
22
21
|
end
|
23
22
|
|
24
23
|
data = { hostname: hostname, ssl: ssl }
|
24
|
+
data[:custom_origin_server] = custom_origin_server unless custom_origin_server.nil?
|
25
25
|
data[:custom_metadata] = custom_metadata unless custom_metadata.empty?
|
26
26
|
|
27
27
|
cf_post(path: "/zones/#{zone_id}/custom_hostnames", data: data)
|
@@ -53,7 +53,7 @@ class CloudflareClient::Zone::CustomHostname < CloudflareClient::Zone::Base
|
|
53
53
|
##
|
54
54
|
# update a custom hosntame
|
55
55
|
# https://api.cloudflare.com/#custom-hostname-for-a-zone-update-custom-hostname-configuration
|
56
|
-
def update(id:, ssl: {}, custom_metadata: nil)
|
56
|
+
def update(id:, ssl: {}, custom_metadata: nil, custom_origin_server: nil)
|
57
57
|
id_check('id', id)
|
58
58
|
|
59
59
|
data = {}
|
@@ -69,10 +69,13 @@ class CloudflareClient::Zone::CustomHostname < CloudflareClient::Zone::Base
|
|
69
69
|
|
70
70
|
unless custom_metadata.nil?
|
71
71
|
raise 'custom_metadata must be an object' unless custom_metadata.is_a?(Hash)
|
72
|
-
|
73
72
|
data[:custom_metadata] = custom_metadata
|
74
73
|
end
|
75
74
|
|
75
|
+
unless custom_origin_server.nil?
|
76
|
+
data[:custom_origin_server] = custom_origin_server
|
77
|
+
end
|
78
|
+
|
76
79
|
cf_patch(path: "/zones/#{zone_id}/custom_hostnames/#{id}", data: data)
|
77
80
|
end
|
78
81
|
|
data/lib/cloudflare_client.rb
CHANGED
@@ -153,7 +153,6 @@ class CloudflareClient
|
|
153
153
|
request.url(API_BASE + path) unless path.nil?
|
154
154
|
request.body = data.to_json
|
155
155
|
end
|
156
|
-
raise(JSON.parse(result.body).dig('errors').first.to_s) unless result.status == 200
|
157
156
|
JSON.parse(result.body, symbolize_names: true)
|
158
157
|
end
|
159
158
|
|
@@ -165,7 +164,6 @@ class CloudflareClient
|
|
165
164
|
request.params = params if params.values.any? { |i| !i.nil? }
|
166
165
|
end
|
167
166
|
end
|
168
|
-
raise(JSON.parse(result.body).dig('errors').first.to_s) unless result.status == 200
|
169
167
|
unless raw.nil?
|
170
168
|
return result.body
|
171
169
|
end
|
@@ -182,17 +180,14 @@ class CloudflareClient
|
|
182
180
|
request.url(API_BASE + path) unless path.nil?
|
183
181
|
request.body = data.to_json unless data.nil?
|
184
182
|
end
|
185
|
-
raise(JSON.parse(result.body).dig('errors').first.to_s) unless result.status == 200
|
186
183
|
JSON.parse(result.body, symbolize_names: true)
|
187
184
|
end
|
188
185
|
|
189
186
|
def cf_patch(path: nil, data: {})
|
190
|
-
valid_response_codes = [200, 202]
|
191
187
|
result = @cf_client.patch do |request|
|
192
188
|
request.url(API_BASE + path) unless path.nil?
|
193
189
|
request.body = data.to_json unless data.empty?
|
194
190
|
end
|
195
|
-
raise(JSON.parse(result.body).dig('errors').first.to_s) unless valid_response_codes.include?(result.status)
|
196
191
|
JSON.parse(result.body, symbolize_names: true)
|
197
192
|
end
|
198
193
|
|
@@ -201,7 +196,6 @@ class CloudflareClient
|
|
201
196
|
request.url(API_BASE + path) unless path.nil?
|
202
197
|
request.body = data.to_json unless data.empty?
|
203
198
|
end
|
204
|
-
raise(JSON.parse(result.body).dig('errors').first.to_s) unless result.status == 200
|
205
199
|
JSON.parse(result.body, symbolize_names: true)
|
206
200
|
end
|
207
201
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudflare_client_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ian waters
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email: iwaters@zendesk.com
|