Skip to content

Commit 43a887b

Browse files
committed
use json instead of xml
1 parent 0a22c85 commit 43a887b

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

opentok/opentok.py

+12-11
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,6 @@ def create_session(
551551
)
552552
else:
553553
headers = self.get_headers()
554-
headers['Accept'] = 'application/json'
555554
response = requests.post(
556555
self.endpoints.get_session_url(),
557556
data=options,
@@ -569,6 +568,7 @@ def create_session(
569568

570569
try:
571570
content_type = response.headers["Content-Type"]
571+
# Legacy behaviour
572572
if content_type != "application/json":
573573
dom = xmldom.parseString(response.content.decode("utf-8"))
574574
error = dom.getElementsByTagName("error")
@@ -606,6 +606,7 @@ def get_headers(self):
606606
+ " python/"
607607
+ platform.python_version(),
608608
"X-OPENTOK-AUTH": self._create_jwt_auth_header(),
609+
"Accept": "application/json",
609610
}
610611
return {
611612
"User-Agent": self.user_agent + " OpenTok-With-Vonage-API-Backend",
@@ -1918,13 +1919,13 @@ def stop_render(self, render_id):
19181919
logger.debug(
19191920
"DELETE to %r with headers %r, proxies %r",
19201921
self.endpoints.get_render_url(render_id=render_id),
1921-
self.get_headers(),
1922+
self.get_json_headers(),
19221923
self.proxies,
19231924
)
19241925

19251926
response = requests.delete(
19261927
self.endpoints.get_render_url(render_id=render_id),
1927-
headers=self.get_headers(),
1928+
headers=self.get_json_headers(),
19281929
proxies=self.proxies,
19291930
timeout=self.timeout,
19301931
)
@@ -1955,14 +1956,14 @@ def list_renders(self, offset=0, count=50):
19551956
logger.debug(
19561957
"GET to %r with headers %r, params %r, proxies %r",
19571958
self.endpoints.get_render_url(),
1958-
self.get_headers(),
1959+
self.get_json_headers(),
19591960
query_params,
19601961
self.proxies,
19611962
)
19621963

19631964
response = requests.get(
19641965
self.endpoints.get_render_url(),
1965-
headers=self.get_headers(),
1966+
headers=self.get_json_headers(),
19661967
params=query_params,
19671968
proxies=self.proxies,
19681969
timeout=self.timeout,
@@ -2193,7 +2194,7 @@ def mute_all(
21932194
options = {"active": True, "excludedStreams": []}
21942195

21952196
response = requests.post(
2196-
url, headers=self.get_headers(), data=json.dumps(options)
2197+
url, headers=self.get_json_headers(), data=json.dumps(options)
21972198
)
21982199

21992200
if response:
@@ -2230,7 +2231,7 @@ def disable_force_mute(self, session_id: str) -> requests.Response:
22302231
url = self.endpoints.get_mute_all_url(session_id)
22312232

22322233
response = requests.post(
2233-
url, headers=self.get_headers(), data=json.dumps(options)
2234+
url, headers=self.get_json_headers(), data=json.dumps(options)
22342235
)
22352236

22362237
try:
@@ -2264,7 +2265,7 @@ def mute_stream(self, session_id: str, stream_id: str) -> requests.Response:
22642265
if stream_id:
22652266
url = self.endpoints.get_stream_url(session_id, stream_id) + "/mute"
22662267

2267-
response = requests.post(url, headers=self.get_headers())
2268+
response = requests.post(url, headers=self.get_json_headers())
22682269

22692270
if response:
22702271
return response
@@ -2381,7 +2382,7 @@ def mute_all(
23812382
options = {"active": True, "excludedStreams": []}
23822383

23832384
response = requests.post(
2384-
url, headers=self.get_headers(), data=json.dumps(options)
2385+
url, headers=self.get_json_headers(), data=json.dumps(options)
23852386
)
23862387

23872388
if response:
@@ -2416,7 +2417,7 @@ def disable_force_mute(self, session_id: str) -> requests.Response:
24162417
url = self.endpoints.get_mute_all_url(session_id)
24172418

24182419
response = requests.post(
2419-
url, headers=self.get_headers(), data=json.dumps(options)
2420+
url, headers=self.get_json_headers(), data=json.dumps(options)
24202421
)
24212422

24222423
try:
@@ -2448,7 +2449,7 @@ def mute_stream(self, session_id: str, stream_id: str) -> requests.Response:
24482449
if stream_id:
24492450
url = self.endpoints.get_stream_url(session_id, stream_id) + "/mute"
24502451

2451-
response = requests.post(url, headers=self.get_headers())
2452+
response = requests.post(url, headers=self.get_json_headers())
24522453

24532454
if response:
24542455
return response

tests/test_session_creation.py

+6-10
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ def test_create_default_session(self):
3030
httpretty.register_uri(
3131
httpretty.POST,
3232
u("https://api.opentok.com/session/create"),
33-
body=u(
34-
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><sessions><Session><session_id>1_MX4xMjM0NTZ-fk1vbiBNYXIgMTcgMDA6NDE6MzEgUERUIDIwMTR-MC42ODM3ODk1MzQ0OTQyODA4fg</session_id><partner_id>123456</partner_id><create_dt>Mon Mar 17 00:41:31 PDT 2014</create_dt></Session></sessions>'
35-
),
33+
body='[{"session_id":"1_MX40NzY2NTk3MX5-MTczOTUzODg5NDk1OX5ROW1jWEcxUXJOM1RJWXU4eStwcHgvZ3N-UH5-","project_id":"47665971","partner_id":"47665971","create_dt":"Fri Feb 14 05:14:54 PST 2025","session_status":null,"status_invalid":null,"media_server_hostname":null,"messaging_server_url":null,"messaging_url":null,"symphony_address":null,"properties":null,"ice_server":null,"session_segment_id":"9c5fdd5b-7f5b-408f-8633-db95d0054fad","ice_servers":null,"ice_credential_expiration":86100}]',
3634
status=200,
37-
content_type=u("text/xml"),
35+
content_type=u("application/json"),
3836
)
3937

4038
session = self.opentok.create_session()
@@ -56,7 +54,7 @@ def test_create_default_session(self):
5654
have_property(
5755
u("session_id"),
5856
u(
59-
"1_MX4xMjM0NTZ-fk1vbiBNYXIgMTcgMDA6NDE6MzEgUERUIDIwMTR-MC42ODM3ODk1MzQ0OTQyODA4fg"
57+
"1_MX40NzY2NTk3MX5-MTczOTUzODg5NDk1OX5ROW1jWEcxUXJOM1RJWXU4eStwcHgvZ3N-UH5-"
6058
),
6159
)
6260
)
@@ -141,11 +139,9 @@ def test_create_routed_session(self):
141139
httpretty.register_uri(
142140
httpretty.POST,
143141
u("https://api.opentok.com/session/create"),
144-
body=u(
145-
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><sessions><Session><session_id>1_MX4xMjM0NTZ-fk1vbiBNYXIgMTcgMDA6NDE6MzEgUERUIDIwMTR-MC42ODM3ODk1MzQ0OTQyODA4fg</session_id><partner_id>123456</partner_id><create_dt>Mon Mar 17 00:41:31 PDT 2014</create_dt></Session></sessions>'
146-
),
142+
body='[{"session_id":"1_MX40NzY2NTk3MX5-MTczOTUzODg5NDk1OX5ROW1jWEcxUXJOM1RJWXU4eStwcHgvZ3N-UH5-","project_id":"47665971","partner_id":"47665971","create_dt":"Fri Feb 14 05:14:54 PST 2025","session_status":null,"status_invalid":null,"media_server_hostname":null,"messaging_server_url":null,"messaging_url":null,"symphony_address":null,"properties":null,"ice_server":null,"session_segment_id":"9c5fdd5b-7f5b-408f-8633-db95d0054fad","ice_servers":null,"ice_credential_expiration":86100}]',
147143
status=200,
148-
content_type=u("text/xml"),
144+
content_type=u("application/json"),
149145
)
150146

151147
session = self.opentok.create_session(media_mode=MediaModes.routed)
@@ -162,7 +158,7 @@ def test_create_routed_session(self):
162158
have_property(
163159
u("session_id"),
164160
u(
165-
"1_MX4xMjM0NTZ-fk1vbiBNYXIgMTcgMDA6NDE6MzEgUERUIDIwMTR-MC42ODM3ODk1MzQ0OTQyODA4fg"
161+
"1_MX40NzY2NTk3MX5-MTczOTUzODg5NDk1OX5ROW1jWEcxUXJOM1RJWXU4eStwcHgvZ3N-UH5-"
166162
),
167163
)
168164
)

0 commit comments

Comments
 (0)