Skip to content
This repository was archived by the owner on Oct 29, 2021. It is now read-only.

Commit 93d16c6

Browse files
committed
Acceptable status codes are now a Set.
1 parent 28707d7 commit 93d16c6

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Core/Net.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import Foundation
1010

1111
public typealias InterceptorToken = UUID
1212

13-
public typealias StatusCodes = CountableRange<Int>
13+
public typealias StatusCode = Int
14+
15+
public typealias StatusCodes = Set<StatusCode>
1416

1517
public typealias RequestInterceptor = (NetRequest.Builder) -> NetRequest.Builder
1618

@@ -56,5 +58,5 @@ public protocol Net: class {
5658
}
5759

5860
extension Net {
59-
static var defaultAcceptableStatusCodes: StatusCodes { return 200..<300 }
61+
static var defaultAcceptableStatusCodes: StatusCodes { return Set(200..<300) }
6062
}

URLSession/NetURLSession.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ extension NetURLSession {
161161
func netError(_ error: Error?, _ responseObject: Any? = nil, _ response: URLResponse? = nil) -> NetError? {
162162
if let error = error {
163163
return .net(code: error._code, message: error.localizedDescription, headers: (response as? HTTPURLResponse)?.allHeaderFields, object: responseObject, underlying: error)
164-
} else if let httpResponse = response as? HTTPURLResponse, !(acceptableStatusCodes ~= httpResponse.statusCode) {
164+
} else if let httpResponse = response as? HTTPURLResponse, !acceptableStatusCodes.contains(httpResponse.statusCode) {
165165
return .net(code: httpResponse.statusCode, message: HTTPURLResponse.localizedString(forStatusCode: httpResponse.statusCode), headers: httpResponse.allHeaderFields, object: responseObject, underlying: error)
166166
}
167167
return nil

0 commit comments

Comments
 (0)