Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let hqheaders : HTTPHeaders = [
- "x-hq-client": "iOS/1.2.17",
- "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjE5MDExMjU0LCJ1c2VybmFtZSI6IkppbmNvYmxpbmthIiwiYXZhdGFyVXJsIjoiczM6Ly9oeXBlc3BhY2UtcXVpei9kZWZhdWx0X2F2YXRhcnMvVW50aXRsZWQtMV8wMDAxX2JsdWUucG5nIiwidG9rZW4iOiIycEoyc0MiLCJyb2xlcyI6W10sImNsaWVudCI6IiIsImd1ZXN0SWQiOm51bGwsInYiOjEsImlhdCI6MTUyOTE4OTcwMCwiZXhwIjoxNTM2OTY1NzAwLCJpc3MiOiJoeXBlcXVpei8xIn0.bBQ_P2HJKw_UG9-pFn0gjhjxnYOTjIYHjP0XpBNWYFo"
- ]
- var socketUrl : String = "https://socketUrl"
- func getSocketURL() {
- Alamofire.request("https://api-quiz.hype.space/shows/now?type=hq&userId=10098053", headers: hqheaders).responseJSON { response in
- if let result = response.result.value {
- let json = JSON(result)
- let broadcast = json["broadcast"]
- if (broadcast != JSON.null) {
- let secondjson = JSON(broadcast)
- self.socketUrl = secondjson["socketUrl"].stringValue
- print(self.socketUrl)
- print("-----")
- let replacedSocketUrl = self.socketUrl.replacingOccurrences(of: "https", with: "wss")
- self.socketUrl = replacedSocketUrl
- print(self.socketUrl)
- print("-----")
- }
- }
- self.openWebSocket()
- }
- }
- func openWebSocket() {
- var request = URLRequest(url: URL(string: socketUrl)!)
- request.timeoutInterval = 5
- request.addValue("iOS/1.2.17", forHTTPHeaderField: "x-hq-client")
- request.addValue("Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEwMDk4MDUzLCJ1c2VybmFtZSI6IjEyMzQ1Njc4OTEwMTEiLCJhdmF0YXJVcmwiOiJzMzovL2h5cGVzcGFjZS1xdWl6L2RlZmF1bHRfYXZhdGFycy9VbnRpdGxlZC0xXzAwMDRfZ29sZC5wbmciLCJ0b2tlbiI6bnVsbCwicm9sZXMiOltdLCJjbGllbnQiOiIiLCJndWVzdElkIjpudWxsLCJ2IjoxLCJpYXQiOjE1MTk1MTE5NTksImV4cCI6MTUyNzI4Nzk1OSwiaXNzIjoiaHlwZXF1aXovMSJ9.AoMWU1tj7w0KXYcrm0a8UwxjA0g_xuPehOAAMlPnWNY", forHTTPHeaderField: "Authorization")
- request.addValue("MQ==", forHTTPHeaderField: "x-hq-stk")
- request.addValue("api-quiz.hype.space", forHTTPHeaderField: "Host")
- request.addValue("Keep-Alive", forHTTPHeaderField: "Connection")
- request.addValue("gzip", forHTTPHeaderField: "Accept-Encoding")
- request.addValue("okhttp/3.8.0", forHTTPHeaderField: "User-Agent")
- let ws = WebSocket(request: request)
- ws.event.open = {
- print("Opened web socket.")
- print("-----")
- }
- ws.event.error = { error in
- print("Error: \(error)")
- print("HELLO WORLD")
- print("-----")
- }
- ws.event.message = { message in
- if let receivedString = message as? String,
- let data = receivedString.data(using: .utf8),
- let receivedAsJSON = try! JSONSerialization.jsonObject(with: data) as? [String: Any],
- let type = receivedAsJSON["type"] as? String {
- print("Message received: \(receivedString)")
- print("-----")
- if (type == "question") {
- let json = JSON(receivedAsJSON)
- let receivedQuestion = json["question"].stringValue
- //self.question = receivedQuestion
- //print(self.question)
- print("-----")
- let answersArray = json["answers"].arrayValue
- print(answersArray)
- print("-----")
- let answersJSONArray = JSON(answersArray)
- for (_, object) in answersJSONArray {
- let answer = object["text"].stringValue
- print(answer)
- print("-----")
- }
- let firstJSON = JSON((answersArray.first)!)
- let firstText = firstJSON["text"].stringValue
- print("First value in array: " + firstText)
- print("-----")
- //self.answer1 = firstText
- let middleJSON = JSON(answersArray[1])
- let middleText = middleJSON["text"].stringValue
- print("Second value in array: " + middleText)
- print("-----")
- //self.answer2 = middleText
- let lastJSON = JSON((answersArray.last)!)
- let lastText = lastJSON["text"].stringValue
- print("Last value in array: " + lastText)
- print("-----")
- //self.answer3 = lastText
- //self.getMatches()
- //self.updateLabels()
- }
- if (type == "broadcastEnded") {
- self.openWebSocket()
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement