Skip to content

Commit d9046b7

Browse files
authored
Merge pull request #387 from YangSen-qn/develop
add fog cn east 1 & handle some cf code
2 parents ab024e2 + 38556d2 commit d9046b7

File tree

12 files changed

+207
-17
lines changed

12 files changed

+207
-17
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
#Changelog
2+
## 8.2.1(2021-04-01)
3+
## 增加
4+
- 增加雾存储 [FixedZone zoneFogCnEast1]
5+
- 优化日志统计
6+
27
## 8.2.0(2021-02-20)
38
## 增加
49
- 增加网络监控功能,选择最优Host进行上传

Qiniu.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Qiniu'
3-
s.version = '8.2.0'
3+
s.version = '8.2.1'
44
s.summary = 'Qiniu Resource Storage SDK for iOS and Mac'
55
s.homepage = 'https://github.com/qiniu/objc-sdk'
66
s.social_media_url = 'http://weibo.com/qiniutek'

QiniuDemo/QiniuDemo/ViewController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ - (IBAction)uploadAction:(UIButton *)sender {
4848
if (self.uploadState == UploadStatePrepare) {
4949

5050
#ifdef YourToken
51-
NSString *path = [[NSBundle mainBundle] pathForResource:@"UploadResource.dmg" ofType:nil];
52-
// NSString *path = [[NSBundle mainBundle] pathForResource:@"UploadResource_49M.zip" ofType:nil];
51+
// NSString *path = [[NSBundle mainBundle] pathForResource:@"UploadResource.dmg" ofType:nil];
52+
NSString *path = [[NSBundle mainBundle] pathForResource:@"UploadResource_49M.zip" ofType:nil];
5353
[self uploadImageToQNFilePath:path];
5454
[self changeUploadState:UploadStateUploading];
5555
#else

QiniuSDK/Collect/QNReportItem.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ - (NSString *)requestReportErrorType{
118118
errorType = @"parse_error";
119119
} else if (self.statusCode == -1007 || self.statusCode == -1010 || self.statusCode == kQNMaliciousResponseError){
120120
errorType = @"malicious_response";
121-
} else if (self.statusCode > -1130 && self.statusCode <= -1100){
121+
} else if (self.statusCode == kQNUnexpectedSysCallError || (self.statusCode > -1130 && self.statusCode <= -1100)){
122122
errorType = @"unexpected_syscall_error";
123123
} else if (self.statusCode == kQNRequestCancelled
124124
|| self.statusCode == NSURLErrorCancelled){

QiniuSDK/Common/QNFixedZone.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,22 @@ NS_ASSUME_NONNULL_BEGIN
4444
* zone As0 新加坡
4545
*
4646
* @return 实例
47-
*/
47+
*/
4848
+ (instancetype)zoneAs0;
4949

50+
/**
51+
* zone fog-cn-east-1 雾存储 华东-1
52+
* 分片上传暂时仅支持分片 api v2
53+
* 分片 api v2设置方式:配置 QNConfiguration 的 resumeUploadVersion 为 QNResumeUploadVersionV2
54+
* eg:
55+
* QNConfiguration *configuration = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
56+
* builder.resumeUploadVersion = QNResumeUploadVersionV2;
57+
* }];
58+
*
59+
* @return 实例
60+
*/
61+
+ (instancetype)zoneFogCnEast1;
62+
5063
/**
5164
* Zone初始化方法
5265
*

QiniuSDK/Common/QNFixedZone.m

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,19 @@ + (instancetype)zoneAs0 {
7272
return zAs0;
7373
}
7474

75+
+ (instancetype)zoneFogCnEast1 {
76+
static QNFixedZone *zFogCnEast1 = nil;
77+
static dispatch_once_t onceToken;
78+
dispatch_once(&onceToken, ^{
79+
zFogCnEast1 = [[QNFixedZone alloc] initWithUpDomainList:@[@"upload-fog-cn-east-1.qiniup.com",
80+
@"up-fog-cn-east-1.qiniup.com"]
81+
oldUpList:@[@"upload-fog-cn-east-1.qiniup.com",
82+
@"up-fog-cn-east-1.qiniup.com"]
83+
regionId:@"fog-cn-east-1"];;
84+
});
85+
return zFogCnEast1;
86+
}
87+
7588
+ (QNFixedZone *)localsZoneInfo{
7689

7790
NSArray *zones = @[[QNFixedZone zone0],

QiniuSDK/Http/Request/HttpClient/UrlProtocol/QNCFHttpClient.m

Lines changed: 156 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,162 @@ - (NSError *)translateCFNetworkErrorIntoUrlError:(NSError *)cfError{
612612
break;
613613
case EQFULL: /* Interface output queue is full */
614614
break;
615-
615+
case -9800: /* SSL protocol error */
616+
errorCode = NSURLErrorSecureConnectionFailed;
617+
break;
618+
case -9801: /* Cipher Suite negotiation failure */
619+
errorCode = NSURLErrorSecureConnectionFailed;
620+
break;
621+
case -9802: /* Fatal alert */
622+
errorCode = kQNUnexpectedSysCallError;
623+
break;
624+
case -9803: /* I/O would block (not fatal) */
625+
errorCode = kQNUnexpectedSysCallError;
626+
break;
627+
case -9804: /* attempt to restore an unknown session */
628+
errorCode = kQNUnexpectedSysCallError;
629+
break;
630+
case -9805: /* connection closed gracefully */
631+
errorCode = NSURLErrorNetworkConnectionLost;
632+
break;
633+
case -9806: /* connection closed via error */
634+
errorCode = NSURLErrorNetworkConnectionLost;
635+
break;
636+
case -9807: /* invalid certificate chain */
637+
errorCode = NSURLErrorServerCertificateNotYetValid;
638+
break;
639+
case -9808: /* bad certificate format */
640+
errorCode = NSURLErrorServerCertificateNotYetValid;
641+
break;
642+
case -9809: /* underlying cryptographic error */
643+
errorCode = NSURLErrorSecureConnectionFailed;
644+
break;
645+
case -9810: /* Internal error */
646+
errorCode = NSURLErrorNotConnectedToInternet;
647+
break;
648+
case -9811: /* module attach failure */
649+
errorCode = kQNUnexpectedSysCallError;
650+
break;
651+
case -9812: /* valid cert chain, untrusted root */
652+
errorCode = NSURLErrorServerCertificateHasUnknownRoot;
653+
break;
654+
case -9813: /* cert chain not verified by root */
655+
errorCode = NSURLErrorServerCertificateHasUnknownRoot;
656+
break;
657+
case -9814: /* chain had an expired cert */
658+
errorCode = NSURLErrorServerCertificateHasBadDate;
659+
break;
660+
case -9815: /* chain had a cert not yet valid */
661+
errorCode = NSURLErrorServerCertificateNotYetValid;
662+
break;
663+
case -9816: /* server closed session with no notification */
664+
errorCode = NSURLErrorNetworkConnectionLost;
665+
break;
666+
case -9817: /* insufficient buffer provided */
667+
errorCode = NSURLErrorCannotDecodeRawData;
668+
break;
669+
case -9818: /* bad SSLCipherSuite */
670+
errorCode = NSURLErrorClientCertificateRejected;
671+
break;
672+
case -9819: /* unexpected message received */
673+
errorCode = NSURLErrorNotConnectedToInternet;
674+
break;
675+
case -9820: /* bad MAC */
676+
errorCode = NSURLErrorNotConnectedToInternet;
677+
break;
678+
case -9821: /* decryption failed */
679+
errorCode = NSURLErrorNotConnectedToInternet;
680+
break;
681+
case -9822: /* record overflow */
682+
errorCode = NSURLErrorDataLengthExceedsMaximum;
683+
break;
684+
case -9823: /* decompression failure */
685+
errorCode = NSURLErrorDownloadDecodingFailedMidStream;
686+
break;
687+
case -9824: /* handshake failure */
688+
errorCode = NSURLErrorClientCertificateRejected;
689+
break;
690+
case -9825: /* misc. bad certificate */
691+
errorCode = NSURLErrorServerCertificateNotYetValid;
692+
break;
693+
case -9826: /* bad unsupported cert format */
694+
errorCode = NSURLErrorServerCertificateNotYetValid;
695+
break;
696+
case -9827: /* certificate revoked */
697+
errorCode = NSURLErrorServerCertificateNotYetValid;
698+
break;
699+
case -9828: /* certificate expired */
700+
errorCode = NSURLErrorServerCertificateNotYetValid;
701+
break;
702+
case -9829: /* unknown certificate */
703+
errorCode = NSURLErrorServerCertificateNotYetValid;
704+
break;
705+
case -9830: /* illegal parameter */
706+
errorCode = NSURLErrorCannotDecodeRawData;
707+
break;
708+
case -9831: /* unknown Cert Authority */
709+
errorCode = NSURLErrorServerCertificateNotYetValid;
710+
break;
711+
case -9832: /* access denied */
712+
errorCode = NSURLErrorClientCertificateRejected;
713+
break;
714+
case -9833: /* decoding error */
715+
errorCode = NSURLErrorServerCertificateNotYetValid;
716+
break;
717+
case -9834: /* decryption error */
718+
errorCode = NSURLErrorCannotDecodeRawData;
719+
break;
720+
case -9835: /* export restriction */
721+
errorCode = NSURLErrorCannotConnectToHost;
722+
break;
723+
case -9836: /* bad protocol version */
724+
errorCode = NSURLErrorCannotConnectToHost;
725+
break;
726+
case -9837: /* insufficient security */
727+
errorCode = NSURLErrorClientCertificateRejected;
728+
break;
729+
case -9838: /* internal error */
730+
errorCode = NSURLErrorTimedOut;
731+
break;
732+
case -9839: /* user canceled */
733+
errorCode = NSURLErrorCancelled;
734+
break;
735+
case -9840: /* no renegotiation allowed */
736+
errorCode = NSURLErrorCannotConnectToHost;
737+
break;
738+
case -9841: /* peer cert is valid, or was ignored if verification disabled */
739+
errorCode = NSURLErrorServerCertificateNotYetValid;
740+
break;
741+
case -9842: /* server has requested a client cert */
742+
errorCode = NSURLErrorClientCertificateRejected;
743+
break;
744+
case -9843: /* peer host name mismatch */
745+
errorCode = NSURLErrorNotConnectedToInternet;
746+
break;
747+
case -9844: /* peer dropped connection before responding */
748+
errorCode = NSURLErrorNetworkConnectionLost;
749+
break;
750+
case -9845: /* decryption failure */
751+
errorCode = NSURLErrorCannotDecodeRawData;
752+
break;
753+
case -9846: /* bad MAC */
754+
errorCode = NSURLErrorNotConnectedToInternet;
755+
break;
756+
case -9847: /* record overflow */
757+
errorCode = NSURLErrorDataLengthExceedsMaximum;
758+
break;
759+
case -9848: /* configuration error */
760+
errorCode = kQNUnexpectedSysCallError;
761+
break;
762+
case -9849: /* unexpected (skipped) record in DTLS */
763+
errorCode = kQNUnexpectedSysCallError;
764+
break;
765+
case -9850: /* weak ephemeral dh key */
766+
errorCode = kQNUnexpectedSysCallError;
767+
break;
768+
case -9851: /* SNI */
769+
errorCode = NSURLErrorClientCertificateRejected;
770+
break;
616771
default:
617772
break;
618773
}

QiniuSDK/Storage/QNUploadManager.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ - (void)putFileInternal:(id<QNFileDelegate>)file
218218
option:option
219219
configuration:self.config
220220
recorder:self.config.recorder
221-
recorderKey:key
221+
recorderKey:recorderKey
222222
completionHandler:complete];
223223
QNAsyncRun(^{
224224
[up run];
@@ -231,7 +231,7 @@ - (void)putFileInternal:(id<QNFileDelegate>)file
231231
option:option
232232
configuration:self.config
233233
recorder:self.config.recorder
234-
recorderKey:key
234+
recorderKey:recorderKey
235235
completionHandler:complete];
236236
QNAsyncRun(^{
237237
[up run];

QiniuSDK/Utils/QNVersion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
/**
1212
* sdk 版本
1313
*/
14-
static NSString *const kQiniuVersion = @"8.2.0";
14+
static NSString *const kQiniuVersion = @"8.2.1";

QiniuSDKTests/QNFileRecorderTest.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ - (void)setUp {
2727
NSError *error = nil;
2828
QNFileRecorder *file = [QNFileRecorder fileRecorderWithFolder:[NSTemporaryDirectory() stringByAppendingString:@"qiniutest"] error:&error];
2929
NSLog(@"recorder error %@", error);
30-
_upManager = [[QNUploadManager alloc] initWithRecorder:file];
30+
_upManager = [[QNUploadManager alloc] initWithRecorder:file recorderKeyGenerator:^NSString *(NSString *uploadKey, NSString *filePath) {
31+
return [NSString stringWithFormat:@"Qiniu:%@", uploadKey];
32+
}];
3133
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
3234
NSString *travis = [[NSProcessInfo processInfo] environment][@"QINIU_TEST_ENV"];
3335
if ([travis isEqualToString:@"travis"]) {

0 commit comments

Comments
 (0)