AliyunOSSSDK/OSSAllRequestNeededMessage.m (50 lines of code) (raw):
//
// 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