Skip to content

Commit 5b96b54

Browse files
authored
feat: add custom header support (#516)
1 parent 9b575ee commit 5b96b54

File tree

362 files changed

+721
-1226
lines changed

Some content is hidden

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

362 files changed

+721
-1226
lines changed

lib/twilio-ruby/framework/version.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def exception(response, header)
5757
Twilio::REST::RestError.new(header, response)
5858
end
5959

60-
def fetch(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
60+
def fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
6161
response = request(
6262
method,
6363
uri,
@@ -93,7 +93,7 @@ def update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: n
9393
response.body
9494
end
9595

96-
def delete(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
96+
def delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
9797
response = request(
9898
method,
9999
uri,
@@ -127,7 +127,7 @@ def read_limits(limit = nil, page_size = nil)
127127
}
128128
end
129129

130-
def page(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
130+
def page(method, uri, params = {}, data = {}, headers: {}, auth: nil, timeout: nil)
131131
request(
132132
method,
133133
uri,

lib/twilio-ruby/rest/chat/v2/service/channel.rb

+24-9
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,10 @@ def initialize(version, service_sid: nil)
5151
# backup/separate source and where a Message was previously updated.
5252
# @param [String] created_by The `identity` of the User that created the channel.
5353
# Default is: `system`.
54+
# @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
55+
# X-Twilio-Webhook-Enabled HTTP request header
5456
# @return [ChannelInstance] Created ChannelInstance
55-
def create(friendly_name: :unset, unique_name: :unset, attributes: :unset, type: :unset, date_created: :unset, date_updated: :unset, created_by: :unset)
57+
def create(friendly_name: :unset, unique_name: :unset, attributes: :unset, type: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
5658
data = Twilio::Values.of({
5759
'FriendlyName' => friendly_name,
5860
'UniqueName' => unique_name,
@@ -62,8 +64,9 @@ def create(friendly_name: :unset, unique_name: :unset, attributes: :unset, type:
6264
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
6365
'CreatedBy' => created_by,
6466
})
67+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
6568

66-
payload = @version.create('POST', @uri, data: data)
69+
payload = @version.create('POST', @uri, data: data, headers: headers)
6770

6871
ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], )
6972
end
@@ -226,9 +229,13 @@ def fetch
226229

227230
##
228231
# Delete the ChannelInstance
232+
# @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
233+
# X-Twilio-Webhook-Enabled HTTP request header
229234
# @return [Boolean] true if delete succeeds, false otherwise
230-
def delete
231-
@version.delete('DELETE', @uri)
235+
def delete(x_twilio_webhook_enabled: :unset)
236+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
237+
238+
@version.delete('DELETE', @uri, headers: headers)
232239
end
233240

234241
##
@@ -251,8 +258,10 @@ def delete
251258
# as the date it was last updated.
252259
# @param [String] created_by The `identity` of the User that created the channel.
253260
# Default is: `system`.
261+
# @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
262+
# X-Twilio-Webhook-Enabled HTTP request header
254263
# @return [ChannelInstance] Updated ChannelInstance
255-
def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset)
264+
def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
256265
data = Twilio::Values.of({
257266
'FriendlyName' => friendly_name,
258267
'UniqueName' => unique_name,
@@ -261,8 +270,9 @@ def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_
261270
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
262271
'CreatedBy' => created_by,
263272
})
273+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
264274

265-
payload = @version.update('POST', @uri, data: data)
275+
payload = @version.update('POST', @uri, data: data, headers: headers)
266276

267277
ChannelInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
268278
end
@@ -511,9 +521,11 @@ def fetch
511521

512522
##
513523
# Delete the ChannelInstance
524+
# @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
525+
# X-Twilio-Webhook-Enabled HTTP request header
514526
# @return [Boolean] true if delete succeeds, false otherwise
515-
def delete
516-
context.delete
527+
def delete(x_twilio_webhook_enabled: :unset)
528+
context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
517529
end
518530

519531
##
@@ -536,15 +548,18 @@ def delete
536548
# as the date it was last updated.
537549
# @param [String] created_by The `identity` of the User that created the channel.
538550
# Default is: `system`.
551+
# @param [channel.WebhookEnabledType] x_twilio_webhook_enabled The
552+
# X-Twilio-Webhook-Enabled HTTP request header
539553
# @return [ChannelInstance] Updated ChannelInstance
540-
def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset)
554+
def update(friendly_name: :unset, unique_name: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, created_by: :unset, x_twilio_webhook_enabled: :unset)
541555
context.update(
542556
friendly_name: friendly_name,
543557
unique_name: unique_name,
544558
attributes: attributes,
545559
date_created: date_created,
546560
date_updated: date_updated,
547561
created_by: created_by,
562+
x_twilio_webhook_enabled: x_twilio_webhook_enabled,
548563
)
549564
end
550565

lib/twilio-ruby/rest/chat/v2/service/channel/member.rb

+24-9
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,10 @@ def initialize(version, service_sid: nil, channel_sid: nil)
6262
# backup/separate source and where a Member was previously updated.
6363
# @param [String] attributes A valid JSON string that contains
6464
# application-specific data.
65+
# @param [member.WebhookEnabledType] x_twilio_webhook_enabled The
66+
# X-Twilio-Webhook-Enabled HTTP request header
6567
# @return [MemberInstance] Created MemberInstance
66-
def create(identity: nil, role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset)
68+
def create(identity: nil, role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
6769
data = Twilio::Values.of({
6870
'Identity' => identity,
6971
'RoleSid' => role_sid,
@@ -73,8 +75,9 @@ def create(identity: nil, role_sid: :unset, last_consumed_message_index: :unset,
7375
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
7476
'Attributes' => attributes,
7577
})
78+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
7679

77-
payload = @version.create('POST', @uri, data: data)
80+
payload = @version.create('POST', @uri, data: data, headers: headers)
7881

7982
MemberInstance.new(
8083
@version,
@@ -257,9 +260,13 @@ def fetch
257260

258261
##
259262
# Delete the MemberInstance
263+
# @param [member.WebhookEnabledType] x_twilio_webhook_enabled The
264+
# X-Twilio-Webhook-Enabled HTTP request header
260265
# @return [Boolean] true if delete succeeds, false otherwise
261-
def delete
262-
@version.delete('DELETE', @uri)
266+
def delete(x_twilio_webhook_enabled: :unset)
267+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
268+
269+
@version.delete('DELETE', @uri, headers: headers)
263270
end
264271

265272
##
@@ -285,8 +292,10 @@ def delete
285292
# as the date it was last updated.
286293
# @param [String] attributes A valid JSON string that contains
287294
# application-specific data.
295+
# @param [member.WebhookEnabledType] x_twilio_webhook_enabled The
296+
# X-Twilio-Webhook-Enabled HTTP request header
288297
# @return [MemberInstance] Updated MemberInstance
289-
def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset)
298+
def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
290299
data = Twilio::Values.of({
291300
'RoleSid' => role_sid,
292301
'LastConsumedMessageIndex' => last_consumed_message_index,
@@ -295,8 +304,9 @@ def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumpti
295304
'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
296305
'Attributes' => attributes,
297306
})
307+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
298308

299-
payload = @version.update('POST', @uri, data: data)
309+
payload = @version.update('POST', @uri, data: data, headers: headers)
300310

301311
MemberInstance.new(
302312
@version,
@@ -461,9 +471,11 @@ def fetch
461471

462472
##
463473
# Delete the MemberInstance
474+
# @param [member.WebhookEnabledType] x_twilio_webhook_enabled The
475+
# X-Twilio-Webhook-Enabled HTTP request header
464476
# @return [Boolean] true if delete succeeds, false otherwise
465-
def delete
466-
context.delete
477+
def delete(x_twilio_webhook_enabled: :unset)
478+
context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
467479
end
468480

469481
##
@@ -489,15 +501,18 @@ def delete
489501
# as the date it was last updated.
490502
# @param [String] attributes A valid JSON string that contains
491503
# application-specific data.
504+
# @param [member.WebhookEnabledType] x_twilio_webhook_enabled The
505+
# X-Twilio-Webhook-Enabled HTTP request header
492506
# @return [MemberInstance] Updated MemberInstance
493-
def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset)
507+
def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset)
494508
context.update(
495509
role_sid: role_sid,
496510
last_consumed_message_index: last_consumed_message_index,
497511
last_consumption_timestamp: last_consumption_timestamp,
498512
date_created: date_created,
499513
date_updated: date_updated,
500514
attributes: attributes,
515+
x_twilio_webhook_enabled: x_twilio_webhook_enabled,
501516
)
502517
end
503518

lib/twilio-ruby/rest/chat/v2/service/channel/message.rb

+24-9
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,10 @@ def initialize(version, service_sid: nil, channel_sid: nil)
5454
# @param [String] media_sid The SID of the
5555
# [Media](https://www.twilio.com/docs/chat/rest/media) to attach to the new
5656
# Message.
57+
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
58+
# X-Twilio-Webhook-Enabled HTTP request header
5759
# @return [MessageInstance] Created MessageInstance
58-
def create(from: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, body: :unset, media_sid: :unset)
60+
def create(from: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, body: :unset, media_sid: :unset, x_twilio_webhook_enabled: :unset)
5961
data = Twilio::Values.of({
6062
'From' => from,
6163
'Attributes' => attributes,
@@ -65,8 +67,9 @@ def create(from: :unset, attributes: :unset, date_created: :unset, date_updated:
6567
'Body' => body,
6668
'MediaSid' => media_sid,
6769
})
70+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
6871

69-
payload = @version.create('POST', @uri, data: data)
72+
payload = @version.create('POST', @uri, data: data, headers: headers)
7073

7174
MessageInstance.new(
7275
@version,
@@ -242,9 +245,13 @@ def fetch
242245

243246
##
244247
# Delete the MessageInstance
248+
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
249+
# X-Twilio-Webhook-Enabled HTTP request header
245250
# @return [Boolean] true if delete succeeds, false otherwise
246-
def delete
247-
@version.delete('DELETE', @uri)
251+
def delete(x_twilio_webhook_enabled: :unset)
252+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
253+
254+
@version.delete('DELETE', @uri, headers: headers)
248255
end
249256

250257
##
@@ -267,8 +274,10 @@ def delete
267274
# updated the Message, if applicable.
268275
# @param [String] from The [Identity](https://www.twilio.com/docs/chat/identity)
269276
# of the message's author.
277+
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
278+
# X-Twilio-Webhook-Enabled HTTP request header
270279
# @return [MessageInstance] Updated MessageInstance
271-
def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :unset)
280+
def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :unset, x_twilio_webhook_enabled: :unset)
272281
data = Twilio::Values.of({
273282
'Body' => body,
274283
'Attributes' => attributes,
@@ -277,8 +286,9 @@ def update(body: :unset, attributes: :unset, date_created: :unset, date_updated:
277286
'LastUpdatedBy' => last_updated_by,
278287
'From' => from,
279288
})
289+
headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
280290

281-
payload = @version.update('POST', @uri, data: data)
291+
payload = @version.update('POST', @uri, data: data, headers: headers)
282292

283293
MessageInstance.new(
284294
@version,
@@ -470,9 +480,11 @@ def fetch
470480

471481
##
472482
# Delete the MessageInstance
483+
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
484+
# X-Twilio-Webhook-Enabled HTTP request header
473485
# @return [Boolean] true if delete succeeds, false otherwise
474-
def delete
475-
context.delete
486+
def delete(x_twilio_webhook_enabled: :unset)
487+
context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
476488
end
477489

478490
##
@@ -495,15 +507,18 @@ def delete
495507
# updated the Message, if applicable.
496508
# @param [String] from The [Identity](https://www.twilio.com/docs/chat/identity)
497509
# of the message's author.
510+
# @param [message.WebhookEnabledType] x_twilio_webhook_enabled The
511+
# X-Twilio-Webhook-Enabled HTTP request header
498512
# @return [MessageInstance] Updated MessageInstance
499-
def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :unset)
513+
def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :unset, x_twilio_webhook_enabled: :unset)
500514
context.update(
501515
body: body,
502516
attributes: attributes,
503517
date_created: date_created,
504518
date_updated: date_updated,
505519
last_updated_by: last_updated_by,
506520
from: from,
521+
x_twilio_webhook_enabled: x_twilio_webhook_enabled,
507522
)
508523
end
509524

0 commit comments

Comments
 (0)