123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // OSSAllRequestNeededMessage.m
- // AliyunOSSSDK
- //
- // Created by huaixu on 2018/1/22.
- // Copyright © 2018年 aliyun. All rights reserved.
- //
- #import "OSSAllRequestNeededMessage.h"
- #import "OSSDefine.h"
- #import "OSSUtil.h"
- @implementation OSSAllRequestNeededMessage
- - (instancetype)init
- {
- self = [super init];
- if (self) {
- _date = [[NSDate oss_clockSkewFixedDate] oss_asStringValue];
- _headerParams = [NSMutableDictionary dictionary];
- }
- return self;
- }
- - (void)setHeaderParams:(NSMutableDictionary *)headerParams {
- if (!headerParams || [headerParams isEqualToDictionary:_headerParams]) {
- return;
- }
- _headerParams = [headerParams mutableCopy];
- }
- - (OSSTask *)validateRequestParamsInOperationType:(OSSOperationType)operType {
- NSString * errorMessage = nil;
-
- if (!self.endpoint) {
- errorMessage = @"Endpoint should not be nil";
- }
-
- if (!self.bucketName && operType != OSSOperationTypeGetService) {
- errorMessage = @"Bucket name should not be nil";
- }
-
- if (self.bucketName && ![OSSUtil validateBucketName:self.bucketName]) {
- errorMessage = @"Bucket name invalid";
- }
-
- if (!self.objectKey &&
- (operType != OSSOperationTypeGetBucket && operType != OSSOperationTypeCreateBucket
- && operType != OSSOperationTypeDeleteBucket && operType != OSSOperationTypeGetService
- && operType != OSSOperationTypeGetBucketACL&& operType != OSSOperationTypeDeleteMultipleObjects
- && operType != OSSOperationTypeListMultipartUploads
- && operType != OSSOperationTypeGetBucketInfo)) {
- errorMessage = @"Object key should not be nil";
- }
-
-
-
- if (self.objectKey && ![OSSUtil validateObjectKey:self.objectKey]) {
- errorMessage = @"Object key invalid";
- }
-
- if (errorMessage) {
- return [OSSTask taskWithError:[NSError errorWithDomain:OSSClientErrorDomain
- code:OSSClientErrorCodeInvalidArgument
- userInfo:@{OSSErrorMessageTOKEN: errorMessage}]];
- } else {
- return [OSSTask taskWithResult:nil];
- }
- }
- @end
|