refactor out checking for base64

This commit is contained in:
Erik 2016-08-02 20:14:04 -04:00
parent fcfb409282
commit ee63c4e386
No known key found for this signature in database
GPG Key ID: 4930B7C5FBC1A69D

View File

@ -153,18 +153,12 @@ public final class SocketEngine : NSObject, NSURLSessionDelegate, SocketEnginePo
} }
} }
private func checkIfMessageIsBase64Binary(message: String) -> Bool { private func handleBase64(message: String) {
if message.hasPrefix("b4") { // binary in base64 string
// binary in base64 string let noPrefix = message[message.startIndex.advancedBy(2)..<message.endIndex]
let noPrefix = message[message.startIndex.advancedBy(2)..<message.endIndex]
if let data = NSData(base64EncodedString: noPrefix, options: .IgnoreUnknownCharacters) {
if let data = NSData(base64EncodedString: noPrefix, options: .IgnoreUnknownCharacters) { client?.parseEngineBinaryData(data)
client?.parseEngineBinaryData(data)
}
return true
} else {
return false
} }
} }
@ -419,11 +413,13 @@ public final class SocketEngine : NSObject, NSURLSessionDelegate, SocketEnginePo
let reader = SocketStringReader(message: message) let reader = SocketStringReader(message: message)
let fixedString: String let fixedString: String
if message.hasPrefix("b4") {
return handleBase64(message)
}
guard let type = SocketEnginePacketType(rawValue: Int(reader.currentCharacter) ?? -1) else { guard let type = SocketEnginePacketType(rawValue: Int(reader.currentCharacter) ?? -1) else {
if !checkIfMessageIsBase64Binary(message) { checkAndHandleEngineError(message)
checkAndHandleEngineError(message)
}
return return
} }