Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. let hqheaders : HTTPHeaders = [
  2. "x-hq-client": "iOS/1.2.17",
  3. "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjE5MDExMjU0LCJ1c2VybmFtZSI6IkppbmNvYmxpbmthIiwiYXZhdGFyVXJsIjoiczM6Ly9oeXBlc3BhY2UtcXVpei9kZWZhdWx0X2F2YXRhcnMvVW50aXRsZWQtMV8wMDAxX2JsdWUucG5nIiwidG9rZW4iOiIycEoyc0MiLCJyb2xlcyI6W10sImNsaWVudCI6IiIsImd1ZXN0SWQiOm51bGwsInYiOjEsImlhdCI6MTUyOTE4OTcwMCwiZXhwIjoxNTM2OTY1NzAwLCJpc3MiOiJoeXBlcXVpei8xIn0.bBQ_P2HJKw_UG9-pFn0gjhjxnYOTjIYHjP0XpBNWYFo"
  4. ]
  5.  
  6. var socketUrl : String = "https://socketUrl"
  7.  
  8. func getSocketURL() {
  9. Alamofire.request("https://api-quiz.hype.space/shows/now?type=hq&userId=10098053", headers: hqheaders).responseJSON { response in
  10. if let result = response.result.value {
  11. let json = JSON(result)
  12. let broadcast = json["broadcast"]
  13.  
  14. if (broadcast != JSON.null) {
  15. let secondjson = JSON(broadcast)
  16. self.socketUrl = secondjson["socketUrl"].stringValue
  17. print(self.socketUrl)
  18. print("-----")
  19.  
  20. let replacedSocketUrl = self.socketUrl.replacingOccurrences(of: "https", with: "wss")
  21. self.socketUrl = replacedSocketUrl
  22. print(self.socketUrl)
  23. print("-----")
  24. }
  25. }
  26.  
  27. self.openWebSocket()
  28. }
  29. }
  30.  
  31. func openWebSocket() {
  32. var request = URLRequest(url: URL(string: socketUrl)!)
  33. request.timeoutInterval = 5
  34. request.addValue("iOS/1.2.17", forHTTPHeaderField: "x-hq-client")
  35. request.addValue("Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEwMDk4MDUzLCJ1c2VybmFtZSI6IjEyMzQ1Njc4OTEwMTEiLCJhdmF0YXJVcmwiOiJzMzovL2h5cGVzcGFjZS1xdWl6L2RlZmF1bHRfYXZhdGFycy9VbnRpdGxlZC0xXzAwMDRfZ29sZC5wbmciLCJ0b2tlbiI6bnVsbCwicm9sZXMiOltdLCJjbGllbnQiOiIiLCJndWVzdElkIjpudWxsLCJ2IjoxLCJpYXQiOjE1MTk1MTE5NTksImV4cCI6MTUyNzI4Nzk1OSwiaXNzIjoiaHlwZXF1aXovMSJ9.AoMWU1tj7w0KXYcrm0a8UwxjA0g_xuPehOAAMlPnWNY", forHTTPHeaderField: "Authorization")
  36. request.addValue("MQ==", forHTTPHeaderField: "x-hq-stk")
  37. request.addValue("api-quiz.hype.space", forHTTPHeaderField: "Host")
  38. request.addValue("Keep-Alive", forHTTPHeaderField: "Connection")
  39. request.addValue("gzip", forHTTPHeaderField: "Accept-Encoding")
  40. request.addValue("okhttp/3.8.0", forHTTPHeaderField: "User-Agent")
  41. let ws = WebSocket(request: request)
  42.  
  43. ws.event.open = {
  44. print("Opened web socket.")
  45. print("-----")
  46. }
  47.  
  48. ws.event.error = { error in
  49. print("Error: \(error)")
  50. print("HELLO WORLD")
  51. print("-----")
  52. }
  53.  
  54. ws.event.message = { message in
  55. if let receivedString = message as? String,
  56. let data = receivedString.data(using: .utf8),
  57. let receivedAsJSON = try! JSONSerialization.jsonObject(with: data) as? [String: Any],
  58. let type = receivedAsJSON["type"] as? String {
  59.  
  60. print("Message received: \(receivedString)")
  61. print("-----")
  62.  
  63. if (type == "question") {
  64. let json = JSON(receivedAsJSON)
  65. let receivedQuestion = json["question"].stringValue
  66. //self.question = receivedQuestion
  67. //print(self.question)
  68. print("-----")
  69.  
  70. let answersArray = json["answers"].arrayValue
  71. print(answersArray)
  72. print("-----")
  73.  
  74. let answersJSONArray = JSON(answersArray)
  75. for (_, object) in answersJSONArray {
  76. let answer = object["text"].stringValue
  77. print(answer)
  78. print("-----")
  79. }
  80.  
  81. let firstJSON = JSON((answersArray.first)!)
  82. let firstText = firstJSON["text"].stringValue
  83. print("First value in array: " + firstText)
  84. print("-----")
  85. //self.answer1 = firstText
  86.  
  87. let middleJSON = JSON(answersArray[1])
  88. let middleText = middleJSON["text"].stringValue
  89. print("Second value in array: " + middleText)
  90. print("-----")
  91. //self.answer2 = middleText
  92.  
  93. let lastJSON = JSON((answersArray.last)!)
  94. let lastText = lastJSON["text"].stringValue
  95. print("Last value in array: " + lastText)
  96. print("-----")
  97. //self.answer3 = lastText
  98.  
  99. //self.getMatches()
  100.  
  101. //self.updateLabels()
  102. }
  103.  
  104. if (type == "broadcastEnded") {
  105. self.openWebSocket()
  106. }
  107. }
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement