Skip to content

Commit e877bb2

Browse files
committed
check for 200 status code when polling #857
1 parent 3bf28cd commit e877bb2

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

Source/SocketIO/Engine/SocketEnginePollable.swift

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,12 @@ extension SocketEnginePollable {
122122

123123
doRequest(for: req) {[weak self] data, res, err in
124124
guard let this = self, this.polling else { return }
125-
126-
if err != nil || data == nil {
127-
DefaultSocketLogger.Logger.error(err?.localizedDescription ?? "Error", type: "SocketEnginePolling")
125+
guard let data = data, let res = res as? HTTPURLResponse, res.statusCode == 200 else {
126+
if let err = err {
127+
DefaultSocketLogger.Logger.error(err.localizedDescription, type: "SocketEnginePolling")
128+
} else {
129+
DefaultSocketLogger.Logger.error("Error during long poll request", type: "SocketEnginePolling")
130+
}
128131

129132
if this.polling {
130133
this.didError(reason: err?.localizedDescription ?? "Error")
@@ -135,7 +138,7 @@ extension SocketEnginePollable {
135138

136139
DefaultSocketLogger.Logger.log("Got polling response", type: "SocketEnginePolling")
137140

138-
if let str = String(data: data!, encoding: .utf8) {
141+
if let str = String(data: data, encoding: .utf8) {
139142
this.parsePollingMessage(str)
140143
}
141144

@@ -163,11 +166,14 @@ extension SocketEnginePollable {
163166

164167
DefaultSocketLogger.Logger.log("POSTing", type: "SocketEnginePolling")
165168

166-
doRequest(for: req) {[weak self] data, res, err in
169+
doRequest(for: req) {[weak self] _, res, err in
167170
guard let this = self else { return }
168-
169-
if err != nil {
170-
DefaultSocketLogger.Logger.error(err?.localizedDescription ?? "Error", type: "SocketEnginePolling")
171+
guard let res = res as? HTTPURLResponse, res.statusCode == 200 else {
172+
if let err = err {
173+
DefaultSocketLogger.Logger.error(err.localizedDescription, type: "SocketEnginePolling")
174+
} else {
175+
DefaultSocketLogger.Logger.error("Error flushing waiting posts", type: "SocketEnginePolling")
176+
}
171177

172178
if this.polling {
173179
this.didError(reason: err?.localizedDescription ?? "Error")

0 commit comments

Comments
 (0)