bandwidth-sdk 10.0.0 → 10.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
  SHA256:
3
- metadata.gz: 7f647905f7c08b4614b21b7ca9278210ed8ff6f532f4b0cd09f1c705852c5567
4
- data.tar.gz: '00348580d308e3fccd81a42642daed1a3b6a39562feb953d0789cbf750a79f0f'
3
+ metadata.gz: 65f5051221fb33aaeeb193511c0fb9b74521f3b045c2441a275534b7b3f990a6
4
+ data.tar.gz: 21463dabcfd99cc0249b8ee472ea66d7cfa833e221d104c8d81b8474191de6b7
5
5
  SHA512:
6
- metadata.gz: c001719da52d9026ea151cb5f95229b0a1ef8b864c7bede8d48c02856f742c0124be304982d350be46ca399cd074170b957cc7a4b887c964f68a41cdf6385ca5
7
- data.tar.gz: 3efb5225670bc0b6cc86088afa4ee45b8e9ecc5f023d33ff33ff6072454f0599474a4d575cfe0db2c2d85d70ca304cde445623f8f25b3f26d03d099da92c545f
6
+ metadata.gz: dfa0184eafdb711138d580e4c3d19c996fecd14f922b4231f54b2a596576b1f167510990b00efb121ac4f140b5dcf54dd81aa4279eaabf062fd13c98de6a8473
7
+ data.tar.gz: 39d4c810fb556f6fb897656617d7c2cd1e2b3c7a553be506d35f208c7e13e24cd0b293f876776dca022f4b50d8f250f66e6ec31edc0edc3b03379fe572202939
@@ -0,0 +1,41 @@
1
+ require_relative 'xml_verb'
2
+
3
+ module Bandwidth
4
+ module Voice
5
+ # The StartStream verb allows a segment of a call to be sent off to another destination for additional processing
6
+ class StartStream
7
+ include XmlVerb
8
+
9
+ def to_bxml(xml)
10
+ xml.StartStream(compact_hash({
11
+ 'destination' => destination,
12
+ 'name' => name,
13
+ 'tracks' => tracks,
14
+ 'streamEventUrl' => streamEventUrl,
15
+ 'streamEventMethod' => streamEventMethod,
16
+ 'username' => username,
17
+ 'password' => password
18
+ })) do
19
+ def embedded_xml(xml, property, type)
20
+ if property
21
+ s = if property.is_a?(type)
22
+ then property
23
+ else type.new(property)
24
+ end
25
+ s.to_bxml(xml)
26
+ end
27
+ end
28
+ def nest_verbs_list(xml, property)
29
+ if property
30
+ property.each do |verb|
31
+ verb.to_bxml(xml)
32
+ end
33
+ end
34
+ end
35
+ embedded_xml(xml, stream_params, StreamParam)
36
+ nest_verbs_list(xml, nested_verbs)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,16 @@
1
+ require_relative 'xml_verb'
2
+
3
+ module Bandwidth
4
+ module Voice
5
+ # The StopStream verb is used to stop a stream that was started with a previous `<StartStream>` verb
6
+ class StopStream
7
+ include XmlVerb
8
+
9
+ def to_bxml(xml)
10
+ xml.StopStream(compact_hash({
11
+ 'name' => name
12
+ }))
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require_relative 'xml_verb'
2
+
3
+ module Bandwidth
4
+ module Voice
5
+ # The StartStream verb allows a segment of a call to be sent off to another destination for additional processing
6
+ class StreamParam
7
+ include XmlVerb
8
+
9
+ def to_bxml(xml)
10
+ xml.StreamParam(compact_hash({
11
+ 'name' => name,
12
+ 'value' => value
13
+ }))
14
+ end
15
+ end
16
+ end
17
+ end
@@ -82,7 +82,7 @@ class IntegrationTest < Test::Unit::TestCase
82
82
  media = "Hello world"
83
83
 
84
84
  #media upload
85
- @bandwidth_client.messaging_client.client.upload_media(BW_ACCOUNT_ID, media_id, media, :content_type => "application/octet-stream", :cache_control => "no-cache")
85
+ @bandwidth_client.messaging_client.client.upload_media(BW_ACCOUNT_ID, media_id, media, :content_type => "text/plain", :cache_control => "no-cache")
86
86
 
87
87
  #media download
88
88
  downloaded_media = @bandwidth_client.messaging_client.client.get_media(BW_ACCOUNT_ID, media_id).data
@@ -274,7 +274,7 @@ class IntegrationTest < Test::Unit::TestCase
274
274
  assert_equal(expected, actual)
275
275
  end
276
276
 
277
- def test_bxml_speak_sentence_pause
277
+ def test_speak_sentence_pause
278
278
  bxml = Bandwidth::Voice::Bxml.new()
279
279
 
280
280
  speak_sentence = Bandwidth::Voice::SpeakSentence.new({
@@ -688,4 +688,73 @@ class IntegrationTest < Test::Unit::TestCase
688
688
  actual = Bandwidth::WebRtc.generate_transfer_bxml_verb('asdf', 'c-93d6f3c0-be584596-0b74-4fa2-8015-d8ede84bd1a4')
689
689
  assert_equal(expected, actual)
690
690
  end
691
+
692
+ def test_start_stream_bxml_verb
693
+ expected = '<?xml version="1.0" encoding="UTF-8"?><Response><StartStream destination="https://www.test.com/stream" name="test_stream" tracks="inbound" streamEventUrl="https://www.test.com/event" streamEventMethod="POST" username="username" password="password"><StreamParam name="name1" value="value1"/></StartStream></Response>'
694
+ response = Bandwidth::Voice::Response.new()
695
+
696
+ stream_param1 = Bandwidth::Voice::StreamParam.new({
697
+ :name => "name1",
698
+ :value => "value1"
699
+ })
700
+
701
+ start_stream = Bandwidth::Voice::StartStream.new({
702
+ :destination => "https://www.test.com/stream",
703
+ :name => "test_stream",
704
+ :tracks => "inbound",
705
+ :streamEventUrl => "https://www.test.com/event",
706
+ :streamEventMethod => "POST",
707
+ :username => "username",
708
+ :password => "password",
709
+ :stream_params => stream_param1
710
+ })
711
+
712
+ response.push(start_stream)
713
+ actual = response.to_bxml()
714
+
715
+ assert_equal(expected, actual)
716
+ end
717
+
718
+ def test_start_stream_multiple_nested_stream_params
719
+ expected = '<?xml version="1.0" encoding="UTF-8"?><Response><StartStream destination="https://www.test.com/stream" name="test_stream" tracks="inbound" streamEventUrl="https://www.test.com/event" streamEventMethod="POST" username="username" password="password"><StreamParam name="name1" value="value1"/><StreamParam name="name2" value="value2"/></StartStream></Response>'
720
+ response = Bandwidth::Voice::Response.new()
721
+
722
+ stream_param1 = Bandwidth::Voice::StreamParam.new({
723
+ :name => "name1",
724
+ :value => "value1"
725
+ })
726
+
727
+ stream_param2 = Bandwidth::Voice::StreamParam.new({
728
+ :name => "name2",
729
+ :value => "value2"
730
+ })
731
+
732
+ start_stream = Bandwidth::Voice::StartStream.new({
733
+ :destination => "https://www.test.com/stream",
734
+ :name => "test_stream",
735
+ :tracks => "inbound",
736
+ :streamEventUrl => "https://www.test.com/event",
737
+ :streamEventMethod => "POST",
738
+ :username => "username",
739
+ :password => "password",
740
+ :nested_verbs => [stream_param1, stream_param2]
741
+ })
742
+
743
+ response.push(start_stream)
744
+ actual = response.to_bxml()
745
+
746
+ assert_equal(expected, actual)
747
+ end
748
+
749
+ def test_stop_stream_bxml_verb
750
+ expected = '<?xml version="1.0" encoding="UTF-8"?><Response><StopStream name="test_stream"/></Response>'
751
+ response = Bandwidth::Voice::Response.new()
752
+ stop_stream = Bandwidth::Voice::StopStream.new({
753
+ :name => "test_stream"
754
+ })
755
+ response.push(stop_stream)
756
+ actual = response.to_bxml()
757
+
758
+ assert_equal(expected, actual)
759
+ end
691
760
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bandwidth-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.0
4
+ version: 10.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bandwidth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2022-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -281,8 +281,11 @@ files:
281
281
  - lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb
282
282
  - lib/bandwidth/voice_lib/bxml/verbs/start_gather.rb
283
283
  - lib/bandwidth/voice_lib/bxml/verbs/start_recording.rb
284
+ - lib/bandwidth/voice_lib/bxml/verbs/start_stream.rb
284
285
  - lib/bandwidth/voice_lib/bxml/verbs/stop_gather.rb
285
286
  - lib/bandwidth/voice_lib/bxml/verbs/stop_recording.rb
287
+ - lib/bandwidth/voice_lib/bxml/verbs/stop_stream.rb
288
+ - lib/bandwidth/voice_lib/bxml/verbs/stream_param.rb
286
289
  - lib/bandwidth/voice_lib/bxml/verbs/tag.rb
287
290
  - lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
288
291
  - lib/bandwidth/voice_lib/bxml/verbs/xml_verb.rb