Skip to content

Commit 7faf0a4

Browse files
committed
fix: check for ParseError first after server response
1 parent 96232f3 commit 7faf0a4

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Sources/ParseSwift/Extensions/URLSession.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,17 @@ internal extension URLSession {
5454
return .failure(parseError)
5555
}
5656
if let responseData = responseData {
57+
if let error = try? ParseCoding.jsonDecoder().decode(ParseError.self, from: responseData) {
58+
return .failure(error)
59+
}
60+
if URLSession.parse.configuration.urlCache?.cachedResponse(for: request) == nil {
61+
URLSession.parse.configuration.urlCache?.storeCachedResponse(.init(response: response,
62+
data: responseData),
63+
for: request)
64+
}
5765
do {
58-
if URLSession.parse.configuration.urlCache?.cachedResponse(for: request) == nil {
59-
URLSession.parse.configuration.urlCache?.storeCachedResponse(.init(response: response,
60-
data: responseData),
61-
for: request)
62-
}
6366
return try .success(mapper(responseData))
6467
} catch {
65-
if let error = try? ParseCoding.jsonDecoder().decode(ParseError.self, from: responseData) {
66-
return .failure(error)
67-
}
6868
guard let parseError = error as? ParseError else {
6969
guard JSONSerialization.isValidJSONObject(responseData),
7070
let json = try? JSONSerialization

0 commit comments

Comments
 (0)