// Copyright 2019 Huawei Technologies Co.,Ltd. // Licensed under the Apache License, Version 2.0 (the "License"); you may not use // this file except in compliance with the License. You may obtain a copy of the // License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef OBSUtils_h #define OBSUtils_h @class OBSBaseRequest; @class OBSBaseNetworkingRequest; @class OBSBaseConfiguration; @class OBSServiceNetworkingRequest; @interface OBSUtils : NSObject //+ (NSDictionary*)convertXMLStringToDict:(NSString*) xmlString error:(NSError**) error; + (NSDictionary*)convertXMLDataToDict:(NSData*) xmlData error:(NSError**) error; + (NSString*)convertDictToXMLString:(NSDictionary*) dict error:(NSError**) error; +(__kindof OBSBaseNetworkingRequest*)convertOBSRequestToNetworkingRequestWithMTL:(OBSBaseRequest*) obsRequest configuration:(OBSBaseConfiguration*) configruation targetClazz:(Class) targetClazz error:(NSError**) error; +(NSMutableDictionary*)getDataDict:(OBSBaseRequest*) obsRequest configuration:(OBSBaseConfiguration*) configuration targetClazz:(Class) targetClazz error:(NSError**) error; +(OBSBaseNetworkingRequest*)getNetworkingRequestFromDict:(Class) networkingClazz dataDict:(NSDictionary*) dataDict configuration:(OBSBaseConfiguration*) configuration error:(NSError**) error; +(NSString*)generateQueryString:(NSDictionary*) queryParameters; +(NSString*)V4PresignGenerateQueryString:(NSDictionary*) queryParameters; + (NSDateFormatter *)getDateFormatterRFC1123; + (NSDateFormatter *)getDateFormatterISO8601Format3; + (NSString *)getDateStringWithFormatString:(NSDate*) date format:(NSString*) dateFormat; // 新增CDN自定义域名处理函数 + (NSString *)v2CDNCustomDomain:(OBSServiceNetworkingRequest*) request; + (void)v4CDNCustomDomain:(OBSServiceNetworkingRequest*) request; @end #endif /* OBSUtils_h */