tweaks to string reading
This commit is contained in:
parent
ec76704631
commit
f5f2a15133
@ -72,7 +72,7 @@ class SocketParserTest: XCTestCase {
|
||||
}
|
||||
|
||||
func testGenericParser() {
|
||||
var parser = SocketStringReader(message: "61-/swift,", currentIndex: "61-/swift,".startIndex)
|
||||
var parser = SocketStringReader(message: "61-/swift,")
|
||||
XCTAssertEqual(parser.read(1), "6")
|
||||
XCTAssertEqual(parser.currentCharacter, "1")
|
||||
XCTAssertEqual(parser.readUntilStringOccurence("-"), "1")
|
||||
|
||||
@ -484,13 +484,12 @@ public final class SocketEngine: NSObject, WebSocketDelegate {
|
||||
doRequest(reqPolling)
|
||||
}
|
||||
|
||||
// Translatation of engine.io-parser#decodePayload
|
||||
private func parsePollingMessage(str: String) {
|
||||
guard str.characters.count != 1 else {
|
||||
return
|
||||
}
|
||||
|
||||
var reader = SocketStringReader(message: str, currentIndex: str.startIndex)
|
||||
var reader = SocketStringReader(message: str)
|
||||
|
||||
while reader.hasNext {
|
||||
let n = reader.readUntilStringOccurence(":")
|
||||
|
||||
@ -57,9 +57,8 @@ class SocketParser {
|
||||
}
|
||||
}
|
||||
|
||||
// Translation of socket.io-client#decodeString
|
||||
static func parseString(message: String) -> SocketPacket? {
|
||||
var parser = SocketStringReader(message: message, currentIndex: message.startIndex)
|
||||
var parser = SocketStringReader(message: message)
|
||||
|
||||
guard let type = SocketPacket.PacketType(str: parser.read(1))
|
||||
else {return nil}
|
||||
@ -89,6 +88,7 @@ class SocketParser {
|
||||
}
|
||||
|
||||
var idString = ""
|
||||
|
||||
while parser.hasNext {
|
||||
if let int = Int(parser.read(1)) {
|
||||
idString += String(int)
|
||||
|
||||
@ -19,6 +19,11 @@ struct SocketStringReader {
|
||||
return String(message[currentIndex])
|
||||
}
|
||||
|
||||
init(message: String) {
|
||||
self.message = message
|
||||
currentIndex = message.startIndex
|
||||
}
|
||||
|
||||
mutating func advanceIndexBy(n: Int) {
|
||||
currentIndex = currentIndex.advancedBy(n)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user