OSSAllRequestNeededMessage.m 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // OSSAllRequestNeededMessage.m
  3. // AliyunOSSSDK
  4. //
  5. // Created by huaixu on 2018/1/22.
  6. // Copyright © 2018年 aliyun. All rights reserved.
  7. //
  8. #import "OSSAllRequestNeededMessage.h"
  9. #import "OSSDefine.h"
  10. #import "OSSUtil.h"
  11. @implementation OSSAllRequestNeededMessage
  12. - (instancetype)init
  13. {
  14. self = [super init];
  15. if (self) {
  16. _date = [[NSDate oss_clockSkewFixedDate] oss_asStringValue];
  17. _headerParams = [NSMutableDictionary dictionary];
  18. }
  19. return self;
  20. }
  21. - (void)setHeaderParams:(NSMutableDictionary *)headerParams {
  22. if (!headerParams || [headerParams isEqualToDictionary:_headerParams]) {
  23. return;
  24. }
  25. _headerParams = [headerParams mutableCopy];
  26. }
  27. - (OSSTask *)validateRequestParamsInOperationType:(OSSOperationType)operType {
  28. NSString * errorMessage = nil;
  29. if (!self.endpoint) {
  30. errorMessage = @"Endpoint should not be nil";
  31. }
  32. if (!self.bucketName && operType != OSSOperationTypeGetService) {
  33. errorMessage = @"Bucket name should not be nil";
  34. }
  35. if (self.bucketName && ![OSSUtil validateBucketName:self.bucketName]) {
  36. errorMessage = @"Bucket name invalid";
  37. }
  38. if (!self.objectKey &&
  39. (operType != OSSOperationTypeGetBucket && operType != OSSOperationTypeCreateBucket
  40. && operType != OSSOperationTypeDeleteBucket && operType != OSSOperationTypeGetService
  41. && operType != OSSOperationTypeGetBucketACL&& operType != OSSOperationTypeDeleteMultipleObjects
  42. && operType != OSSOperationTypeListMultipartUploads
  43. && operType != OSSOperationTypeGetBucketInfo)) {
  44. errorMessage = @"Object key should not be nil";
  45. }
  46. if (self.objectKey && ![OSSUtil validateObjectKey:self.objectKey]) {
  47. errorMessage = @"Object key invalid";
  48. }
  49. if (errorMessage) {
  50. return [OSSTask taskWithError:[NSError errorWithDomain:OSSClientErrorDomain
  51. code:OSSClientErrorCodeInvalidArgument
  52. userInfo:@{OSSErrorMessageTOKEN: errorMessage}]];
  53. } else {
  54. return [OSSTask taskWithResult:nil];
  55. }
  56. }
  57. @end