Skip to content

Commit b6e5aeb

Browse files
committed
status code
1 parent 73c331a commit b6e5aeb

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

QiniuSDK/Http/QNResponseInfo.m

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,37 @@
1414
const int kQNRequestCancelled = -2;
1515
const int kQNNetworkError = -1;
1616

17+
/**
18+
kCFURLErrorUnknown = -998,
19+
kCFURLErrorCancelled = -999,
20+
kCFURLErrorBadURL = -1000,
21+
kCFURLErrorTimedOut = -1001,
22+
kCFURLErrorUnsupportedURL = -1002,
23+
kCFURLErrorCannotFindHost = -1003,
24+
kCFURLErrorCannotConnectToHost = -1004,
25+
kCFURLErrorNetworkConnectionLost = -1005,
26+
kCFURLErrorDNSLookupFailed = -1006,
27+
kCFURLErrorHTTPTooManyRedirects = -1007,
28+
kCFURLErrorResourceUnavailable = -1008,
29+
kCFURLErrorNotConnectedToInternet = -1009,
30+
kCFURLErrorRedirectToNonExistentLocation = -1010,
31+
kCFURLErrorBadServerResponse = -1011,
32+
kCFURLErrorUserCancelledAuthentication = -1012,
33+
kCFURLErrorUserAuthenticationRequired = -1013,
34+
kCFURLErrorZeroByteResource = -1014,
35+
kCFURLErrorCannotDecodeRawData = -1015,
36+
kCFURLErrorCannotDecodeContentData = -1016,
37+
kCFURLErrorCannotParseResponse = -1017,
38+
kCFURLErrorInternationalRoamingOff = -1018,
39+
kCFURLErrorCallIsActive = -1019,
40+
kCFURLErrorDataNotAllowed = -1020,
41+
kCFURLErrorRequestBodyStreamExhausted = -1021,
42+
kCFURLErrorFileDoesNotExist = -1100,
43+
kCFURLErrorFileIsDirectory = -1101,
44+
kCFURLErrorNoPermissionsToReadFile = -1102,
45+
kCFURLErrorDataLengthExceedsMaximum = -1103,
46+
*/
47+
1748
static QNResponseInfo *cancelledInfo = nil;
1849

1950
static NSString *domain = @"qiniu.com";
@@ -29,9 +60,11 @@ + (instancetype)responseInfoWithInvalidArgument:(NSString *)text {
2960
}
3061

3162
+ (instancetype)responseInfoWithNetError:(NSError *)error host:(NSString *)host duration:(double)duration {
32-
if (error.code != -1003) {
63+
int code = kQNNetworkError;
64+
if (error != nil) {
65+
code = (int)error.code;
3366
}
34-
return [[QNResponseInfo alloc] initWithStatus:kQNNetworkError error:error host:host duration:duration];
67+
return [[QNResponseInfo alloc] initWithStatus:code error:error host:host duration:duration];
3568
}
3669

3770
+ (instancetype)responseInfoWithFileError:(NSError *)error {
@@ -124,11 +157,11 @@ - (BOOL)isConnectionBroken {
124157
}
125158

126159
- (BOOL)needSwitchServer {
127-
return _statusCode == kQNNetworkError || (_statusCode / 100 == 5 && _statusCode != 579);
160+
return _statusCode == kQNNetworkError || (_statusCode < -1000 && _statusCode != -1003) || (_statusCode / 100 == 5 && _statusCode != 579);
128161
}
129162

130163
- (BOOL)couldRetry {
131-
return (_statusCode >= 500 && _statusCode < 600 && _statusCode != 579) || _statusCode == kQNNetworkError || _statusCode == 996 || _statusCode == 406 || (_statusCode == 200 && _error != nil);
164+
return (_statusCode >= 500 && _statusCode < 600 && _statusCode != 579) || _statusCode == kQNNetworkError || _statusCode == 996 || _statusCode == 406 || (_statusCode == 200 && _error != nil) || _statusCode < -1000;
132165
}
133166

134167
@end

0 commit comments

Comments
 (0)