-function pollServerForAnswer(url, data, resolve, reject) {\r
- const request = new XMLHttpRequest()\r
- request.open('GET', url, true)\r
- /* But there is no JSON? */\r
- request.setRequestHeader('Content-Type', 'application/json' )\r
- request.setRequestHeader('X-Strapp-Type', 'client-sdp-offer')\r
- request.setRequestHeader('X-Client-Offer', JSON.stringify(data))\r
- request.onreadystatechange = () => {\r
- if (request.status === 200) {\r
- if(request.readyState === 4) {\r
- console.log('Client: Recieved Answer from Host')\r
- console.log(request)\r
- resolve(request.response)\r
+function requestHostAnswer(url, data) {\r
+ return new Promise((resolve, reject) => {\r
+ const request = new XMLHttpRequest()\r
+ request.open('GET', url, true)\r
+ /* But there is no JSON? */\r
+ request.setRequestHeader('Content-Type', 'application/json' )\r
+ request.setRequestHeader('X-Strapp-Type', 'client-sdp-offer')\r
+ request.setRequestHeader('X-Strapp-Pubkey', data.pubKey)
+ request.onreadystatechange = () => {
+ if (request.status === 200) {\r
+ if(request.readyState === 4) {\r
+ console.log('Client: Recieved Answer from Host')\r
+ console.log(request)\r
+ resolve(request.response)\r
+ }\r
+ }\r
+ else if (request.status === 504) {\r
+ console.log('timed out, resending')\r
+ resolve(requestHostAnswer(url, data))\r
+ }\r
+ else {\r
+ reject('server unhandled response of status ' + request.status)\r