Skip to content

Commit c103734

Browse files
committed
work on parsing stuff
1 parent bb6bd2b commit c103734

File tree

5 files changed

+122
-278
lines changed

5 files changed

+122
-278
lines changed

SwiftIO/SocketEngine.swift

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
176176

177177
return
178178
}
179+
179180
// println(data)
180181

181-
if let str = NSString(data: data, encoding: NSUTF8StringEncoding) as? String {
182-
// println(str)
182+
if let str = NSString(data: data, encoding: NSUTF8StringEncoding) {
183183
dispatch_async(self!.parseQueue) {callback(str)}
184184
}
185185

@@ -221,7 +221,6 @@ public class SocketEngine: NSObject, WebSocketDelegate {
221221

222222
for packet in self.postWait {
223223
let len = countElements(packet)
224-
225224
postStr += "\(len):\(packet)"
226225
}
227226

@@ -230,14 +229,14 @@ public class SocketEngine: NSObject, WebSocketDelegate {
230229
let req = NSMutableURLRequest(URL: NSURL(string: self.urlPolling! + "&sid=\(self.sid)")!)
231230

232231
req.HTTPMethod = "POST"
233-
req.setValue("application/html-text", forHTTPHeaderField: "Content-Type")
232+
req.setValue("text/plain; charset=UTF-8", forHTTPHeaderField: "Content-Type")
234233

235234
let postData = postStr.dataUsingEncoding(NSUTF8StringEncoding,
236235
allowLossyConversion: false)!
237236

238-
// println("posting: \(postStr)")
239-
req.setValue(String(postData.length), forHTTPHeaderField: "Content-Length")
237+
// NSLog("posting: \(postStr)")
240238
req.HTTPBody = postData
239+
req.setValue(String(postData.length), forHTTPHeaderField: "Content-Length")
241240

242241
self.waitingForPost = true
243242
self.session.dataTaskWithRequest(req) {[weak self] data, res, err in
@@ -299,9 +298,8 @@ public class SocketEngine: NSObject, WebSocketDelegate {
299298
return
300299
}
301300

302-
if let dataString = NSString(data: data, encoding: NSUTF8StringEncoding) {
303-
var mutString = RegexMutable(dataString)
304-
let parsed:[String]? = mutString["(\\d*):(\\d)(\\{.*\\})?"].groups()
301+
if let dataString = NSString(data: data, encoding: NSUTF8StringEncoding) as? String {
302+
let parsed:[String]? = dataString["(\\d*):(\\d)(\\{.*\\})?"].groups()
305303

306304
if parsed == nil || parsed?.count != 4 {
307305
return
@@ -406,17 +404,15 @@ public class SocketEngine: NSObject, WebSocketDelegate {
406404
}
407405

408406
private func parseEngineMessage(var message:String) {
409-
// println("Engine got message: \(message)")
410-
411-
var strMessage = RegexMutable(message)
407+
// NSLog("Engine got message: \(message)")
412408

413409
// We should upgrade
414-
if strMessage == "3probe" {
410+
if message == "3probe" {
415411
self.upgradeTransport()
416412
return
417413
}
418414

419-
let type = strMessage["^(\\d)"].groups()?[1]
415+
let type = message["^(\\d)"].groups()?[1]
420416

421417
if type != PacketType.MESSAGE.rawValue {
422418
// TODO Handle other packets

SwiftIO/SocketEvent.swift

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,7 @@ class SocketEvent {
173173
} else if let dict = arr[i] as? NSDictionary {
174174
newArr[i] = self.fillInDict(dict)
175175
} else if let str = arr[i] as? String {
176-
let mut = RegexMutable(str)
177-
if let num = mut["~~(\\d)"].groups() {
176+
if let num = str["~~(\\d)"].groups() {
178177
newArr[i] = self.datas[num[1].toInt()!]
179178
} else {
180179
newArr[i] = arr[i]
@@ -196,9 +195,7 @@ class SocketEvent {
196195
// If the value is a string we need to check
197196
// if it is a placeholder for data
198197
if let str = value as? String {
199-
let mut = RegexMutable(str)
200-
201-
if let num = mut["~~(\\d)"].groups() {
198+
if let num = str["~~(\\d)"].groups() {
202199
newDict[key as String] = self.datas[num[1].toInt()!]
203200
} else {
204201
newDict[key as String] = str
@@ -231,9 +228,7 @@ class SocketEvent {
231228

232229
for i in 0..<parsedArr.count {
233230
if let str = parsedArr[i] as? String {
234-
let mut = RegexMutable(str)
235-
236-
if let num = mut["~~(\\d)"].groups() {
231+
if let num = str["~~(\\d)"].groups() {
237232
returnArr[i] = self.datas[num[1].toInt()!]
238233
} else {
239234
returnArr[i] = str

SwiftIO/SocketIOClient.swift

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import Foundation
2626

2727
public class SocketIOClient: NSObject {
28-
let socketURL:NSMutableString!
28+
let socketURL:String!
2929
let ackQueue = dispatch_queue_create("ackQueue".cStringUsingEncoding(NSUTF8StringEncoding),
3030
DISPATCH_QUEUE_SERIAL)
3131
let handleQueue = dispatch_queue_create("handleQueue".cStringUsingEncoding(NSUTF8StringEncoding),
@@ -50,7 +50,7 @@ public class SocketIOClient: NSObject {
5050

5151
internal var currentAck = -1
5252
internal var waitingData = [SocketEvent]()
53-
53+
5454
public var closed:Bool {
5555
return self._closed
5656
}
@@ -74,17 +74,15 @@ public class SocketIOClient: NSObject {
7474
return self._sid
7575
}
7676

77-
public init(socketURL:String, opts:[String: AnyObject]? = nil) {
78-
var mutURL = RegexMutable(socketURL)
79-
80-
if mutURL["https://"].matches().count != 0 {
77+
public init(var socketURL:String, opts:[String: AnyObject]? = nil) {
78+
if socketURL["https://"].matches().count != 0 {
8179
self._secure = true
8280
}
8381

84-
mutURL = mutURL["http://"] ~= ""
85-
mutURL = mutURL["https://"] ~= ""
82+
socketURL = socketURL["http://"] ~= ""
83+
socketURL = socketURL["https://"] ~= ""
8684

87-
self.socketURL = mutURL
85+
self.socketURL = socketURL
8886

8987
// Set options
9088
if opts != nil {
@@ -396,6 +394,7 @@ public class SocketIOClient: NSObject {
396394

397395
if self.reconnectTimer == nil {
398396
self._reconnecting = true
397+
399398
dispatch_async(dispatch_get_main_queue()) {[weak self] in
400399
if self == nil {
401400
return

0 commit comments

Comments
 (0)