Skip to content

Commit

Permalink
Merge pull request #85 from aliyun/dev_specification
Browse files Browse the repository at this point in the history
Dev specification
  • Loading branch information
1019272778 authored Nov 17, 2017
2 parents b67b78a + a4b6795 commit 7c0b8c1
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 68 deletions.
18 changes: 9 additions & 9 deletions AliyunOSSiOS/OSSModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,7 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:getServiceResult];
}
if (_collectingData) {
NSDictionary * parseDict = [NSDictionary dictionaryWithXMLData:_collectingData];
NSDictionary * parseDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"Get service dict: %@", parseDict);
if (parseDict) {
getServiceResult.ownerId = [[parseDict objectForKey:OSSOwnerXMLTOKEN] objectForKey:OSSIDXMLTOKEN];
Expand Down Expand Up @@ -925,7 +925,7 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:getBucketACLResult];
}
if (_collectingData) {
NSDictionary * parseDict = [NSDictionary dictionaryWithXMLData:_collectingData];
NSDictionary * parseDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"Get service dict: %@", parseDict);
if (parseDict) {
getBucketACLResult.aclGranted = [[parseDict objectForKey:OSSAccessControlListXMLTOKEN] objectForKey:OSSGrantXMLTOKEN];
Expand All @@ -948,7 +948,7 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:getBucketResult];
}
if (_collectingData) {
NSDictionary * parsedDict = [NSDictionary dictionaryWithXMLData:_collectingData];
NSDictionary * parsedDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"Get bucket dict: %@", parsedDict);

if (parsedDict) {
Expand Down Expand Up @@ -1068,8 +1068,8 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:copyObjectResult];
}
if (_collectingData) {
OSSLogVerbose(@"copy object dict: %@", [NSDictionary dictionaryWithXMLData:_collectingData]);
NSDictionary * parsedDict = [NSDictionary dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"copy object dict: %@", [NSDictionary oss_dictionaryWithXMLData:_collectingData]);
NSDictionary * parsedDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
if (parsedDict) {
copyObjectResult.lastModifed = [parsedDict objectForKey:OSSLastModifiedXMLTOKEN];
copyObjectResult.eTag = [parsedDict objectForKey:OSSETagXMLTOKEN];
Expand All @@ -1084,7 +1084,7 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:initMultipartUploadResult];
}
if (_collectingData) {
NSDictionary * parsedDict = [NSDictionary dictionaryWithXMLData:_collectingData];
NSDictionary * parsedDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"init multipart upload result: %@", parsedDict);
if (parsedDict) {
initMultipartUploadResult.uploadId = [parsedDict objectForKey:OSSUploadIdXMLTOKEN];
Expand Down Expand Up @@ -1114,8 +1114,8 @@ - (id)constructResultObject {
}
if (_collectingData) {
if ([[[_response.allHeaderFields objectForKey:OSSHttpHeaderContentType] description] isEqual:@"application/xml"]) {
OSSLogVerbose(@"complete multipart upload result: %@", [NSDictionary dictionaryWithXMLData:_collectingData]);
NSDictionary * parsedDict = [NSDictionary dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"complete multipart upload result: %@", [NSDictionary oss_dictionaryWithXMLData:_collectingData]);
NSDictionary * parsedDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
if (parsedDict) {
completeMultipartUploadResult.location = [parsedDict objectForKey:OSSLocationXMLTOKEN];
completeMultipartUploadResult.eTag = [parsedDict objectForKey:OSSETagXMLTOKEN];
Expand All @@ -1133,7 +1133,7 @@ - (id)constructResultObject {
[self parseResponseHeader:_response toResultObject:listPartsReuslt];
}
if (_collectingData) {
NSDictionary * parsedDict = [NSDictionary dictionaryWithXMLData:_collectingData];
NSDictionary * parsedDict = [NSDictionary oss_dictionaryWithXMLData:_collectingData];
OSSLogVerbose(@"list multipart upload result: %@", parsedDict);
if (parsedDict) {
listPartsReuslt.nextPartNumberMarker = [[parsedDict objectForKey:OSSNextPartNumberMarkerXMLTOKEN] intValue];
Expand Down
2 changes: 1 addition & 1 deletion AliyunOSSiOS/OSSNetworking.m
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)sessionTask
}
NSString * notSuccessResponseBody = [[NSString alloc] initWithData:delegate.httpRequestNotSuccessResponseBody encoding:NSUTF8StringEncoding];
OSSLogError(@"http error response: %@", notSuccessResponseBody);
NSDictionary * dict = [NSDictionary dictionaryWithXMLString:notSuccessResponseBody];
NSDictionary * dict = [NSDictionary oss_dictionaryWithXMLString:notSuccessResponseBody];

return [OSSTask taskWithError:[NSError errorWithDomain:OSSServerErrorDomain
code:(-1 * httpResponse.statusCode)
Expand Down
34 changes: 17 additions & 17 deletions AliyunOSSiOS/OSSXMLDictionary.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,29 +82,29 @@ static NSString *const OSSXMLDictionaryAttributePrefix = @"_";

@interface NSDictionary (OSSXMLDictionary)

+ (NSDictionary *)dictionaryWithXMLParser:(NSXMLParser *)parser;
+ (NSDictionary *)dictionaryWithXMLData:(NSData *)data;
+ (NSDictionary *)dictionaryWithXMLString:(NSString *)string;
+ (NSDictionary *)dictionaryWithXMLFile:(NSString *)path;

- (NSDictionary *)attributes;
- (NSDictionary *)childNodes;
- (NSArray *)comments;
- (NSString *)nodeName;
- (NSString *)innerText;
- (NSString *)innerXML;
- (NSString *)XMLString;

- (NSArray *)arrayValueForKeyPath:(NSString *)keyPath;
- (NSString *)stringValueForKeyPath:(NSString *)keyPath;
- (NSDictionary *)dictionaryValueForKeyPath:(NSString *)keyPath;
+ (NSDictionary *)oss_dictionaryWithXMLParser:(NSXMLParser *)parser;
+ (NSDictionary *)oss_dictionaryWithXMLData:(NSData *)data;
+ (NSDictionary *)oss_dictionaryWithXMLString:(NSString *)string;
+ (NSDictionary *)oss_dictionaryWithXMLFile:(NSString *)path;

- (NSDictionary *)oss_attributes;
- (NSDictionary *)oss_childNodes;
- (NSArray *)oss_comments;
- (NSString *)oss_nodeName;
- (NSString *)oss_innerText;
- (NSString *)oss_innerXML;
- (NSString *)oss_XMLString;

- (NSArray *)oss_arrayValueForKeyPath:(NSString *)keyPath;
- (NSString *)oss_stringValueForKeyPath:(NSString *)keyPath;
- (NSDictionary *)oss_dictionaryValueForKeyPath:(NSString *)keyPath;

@end


@interface NSString (OSSXMLDictionary)

- (NSString *)XMLEncodedString;
- (NSString *)oss_XMLEncodedString;

@end

Expand Down
72 changes: 36 additions & 36 deletions AliyunOSSiOS/OSSXMLDictionary.m
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,14 @@ + (NSString *)XMLStringForNode:(id)node withNodeName:(NSString *)nodeName
}
else if ([node isKindOfClass:[NSDictionary class]])
{
NSDictionary *attributes = [(NSDictionary *)node attributes];
NSDictionary *attributes = [(NSDictionary *)node oss_attributes];
NSMutableString *attributeString = [NSMutableString string];
for (NSString *key in [attributes allKeys])
{
[attributeString appendFormat:@" %@=\"%@\"", [[key description] XMLEncodedString], [[attributes[key] description] XMLEncodedString]];
[attributeString appendFormat:@" %@=\"%@\"", [[key description] oss_XMLEncodedString], [[attributes[key] description] oss_XMLEncodedString]];
}

NSString *innerXML = [node innerXML];
NSString *innerXML = [node oss_innerXML];
if ([innerXML length])
{
return [NSString stringWithFormat:@"<%1$@%2$@>%3$@</%1$@>", nodeName, attributeString, innerXML];
Expand All @@ -155,7 +155,7 @@ + (NSString *)XMLStringForNode:(id)node withNodeName:(NSString *)nodeName
}
else
{
return [NSString stringWithFormat:@"<%1$@>%2$@</%1$@>", nodeName, [[node description] XMLEncodedString]];
return [NSString stringWithFormat:@"<%1$@>%2$@</%1$@>", nodeName, [[node description] oss_XMLEncodedString]];
}
}

Expand Down Expand Up @@ -288,9 +288,9 @@ - (void)parser:(__unused NSXMLParser *)parser didStartElement:(NSString *)elemen

- (NSString *)nameForNode:(NSDictionary *)node inDictionary:(NSDictionary *)dict
{
if (node.nodeName)
if (node.oss_nodeName)
{
return node.nodeName;
return node.oss_nodeName;
}
else
{
Expand All @@ -317,25 +317,25 @@ - (void)parser:(__unused NSXMLParser *)parser didEndElement:(__unused NSString *
NSMutableDictionary *top = [_stack lastObject];
[_stack removeLastObject];

if (!top.attributes && !top.childNodes && !top.comments)
if (!top.oss_attributes && !top.oss_childNodes && !top.oss_comments)
{
NSMutableDictionary *newTop = [_stack lastObject];
NSString *nodeName = [self nameForNode:top inDictionary:newTop];
if (nodeName)
{
id parentNode = newTop[nodeName];
if (top.innerText && _collapseTextNodes)
if (top.oss_innerText && _collapseTextNodes)
{
if ([parentNode isKindOfClass:[NSArray class]])
{
parentNode[[parentNode count] - 1] = top.innerText;
parentNode[[parentNode count] - 1] = top.oss_innerText;
}
else
{
newTop[nodeName] = top.innerText;
newTop[nodeName] = top.oss_innerText;
}
}
else if (!top.innerText && _stripEmptyNodes)
else if (!top.oss_innerText && _stripEmptyNodes)
{
if ([parentNode isKindOfClass:[NSArray class]])
{
Expand All @@ -346,7 +346,7 @@ - (void)parser:(__unused NSXMLParser *)parser didEndElement:(__unused NSString *
[newTop removeObjectForKey:nodeName];
}
}
else if (!top.innerText && !_collapseTextNodes && !_stripEmptyNodes)
else if (!top.oss_innerText && !_collapseTextNodes && !_stripEmptyNodes)
{
top[OSSXMLDictionaryTextKey] = @"";
}
Expand Down Expand Up @@ -387,27 +387,27 @@ - (void)parser:(__unused NSXMLParser *)parser foundComment:(NSString *)comment

@implementation NSDictionary(OSSXMLDictionary)

+ (NSDictionary *)dictionaryWithXMLParser:(NSXMLParser *)parser
+ (NSDictionary *)oss_dictionaryWithXMLParser:(NSXMLParser *)parser
{
return [[[OSSXMLDictionaryParser sharedInstance] copy] dictionaryWithParser:parser];
}

+ (NSDictionary *)dictionaryWithXMLData:(NSData *)data
+ (NSDictionary *)oss_dictionaryWithXMLData:(NSData *)data
{
return [[[OSSXMLDictionaryParser sharedInstance] copy] dictionaryWithData:data];
}

+ (NSDictionary *)dictionaryWithXMLString:(NSString *)string
+ (NSDictionary *)oss_dictionaryWithXMLString:(NSString *)string
{
return [[[OSSXMLDictionaryParser sharedInstance] copy] dictionaryWithString:string];
}

+ (NSDictionary *)dictionaryWithXMLFile:(NSString *)path
+ (NSDictionary *)oss_dictionaryWithXMLFile:(NSString *)path
{
return [[[OSSXMLDictionaryParser sharedInstance] copy] dictionaryWithFile:path];
}

- (NSDictionary *)attributes
- (NSDictionary *)oss_attributes
{
NSDictionary *attributes = self[OSSXMLDictionaryAttributesKey];
if (attributes)
Expand All @@ -431,7 +431,7 @@ - (NSDictionary *)attributes
return nil;
}

- (NSDictionary *)childNodes
- (NSDictionary *)oss_childNodes
{
NSMutableDictionary *filteredDict = [self mutableCopy];
[filteredDict removeObjectsForKeys:@[OSSXMLDictionaryAttributesKey, OSSXMLDictionaryCommentsKey, OSSXMLDictionaryTextKey, OSSXMLDictionaryNodeNameKey]];
Expand All @@ -445,17 +445,17 @@ - (NSDictionary *)childNodes
return [filteredDict count]? filteredDict: nil;
}

- (NSArray *)comments
- (NSArray *)oss_comments
{
return self[OSSXMLDictionaryCommentsKey];
}

- (NSString *)nodeName
- (NSString *)oss_nodeName
{
return self[OSSXMLDictionaryNodeNameKey];
}

- (id)innerText
- (id)oss_innerText
{
id text = self[OSSXMLDictionaryTextKey];
if ([text isKindOfClass:[NSArray class]])
Expand All @@ -468,44 +468,44 @@ - (id)innerText
}
}

- (NSString *)innerXML
- (NSString *)oss_innerXML
{
NSMutableArray *nodes = [NSMutableArray array];

for (NSString *comment in [self comments])
for (NSString *comment in [self oss_comments])
{
[nodes addObject:[NSString stringWithFormat:@"<!--%@-->", [comment XMLEncodedString]]];
[nodes addObject:[NSString stringWithFormat:@"<!--%@-->", [comment oss_XMLEncodedString]]];
}

NSDictionary *childNodes = [self childNodes];
NSDictionary *childNodes = [self oss_childNodes];
for (NSString *key in childNodes)
{
[nodes addObject:[OSSXMLDictionaryParser XMLStringForNode:childNodes[key] withNodeName:key]];
}

NSString *text = [self innerText];
NSString *text = [self oss_innerText];
if (text)
{
[nodes addObject:[text XMLEncodedString]];
[nodes addObject:[text oss_XMLEncodedString]];
}

return [nodes componentsJoinedByString:@"\n"];
}

- (NSString *)XMLString
- (NSString *)oss_XMLString
{
if ([self count] == 1 && ![self nodeName])
if ([self count] == 1 && ![self oss_nodeName])
{
//ignore outermost dictionary
return [self innerXML];
return [self oss_innerXML];
}
else
{
return [OSSXMLDictionaryParser XMLStringForNode:self withNodeName:[self nodeName] ?: @"root"];
return [OSSXMLDictionaryParser XMLStringForNode:self withNodeName:[self oss_nodeName] ?: @"root"];
}
}

- (NSArray *)arrayValueForKeyPath:(NSString *)keyPath
- (NSArray *)oss_arrayValueForKeyPath:(NSString *)keyPath
{
id value = [self valueForKeyPath:keyPath];
if (value && ![value isKindOfClass:[NSArray class]])
Expand All @@ -515,7 +515,7 @@ - (NSArray *)arrayValueForKeyPath:(NSString *)keyPath
return value;
}

- (NSString *)stringValueForKeyPath:(NSString *)keyPath
- (NSString *)oss_stringValueForKeyPath:(NSString *)keyPath
{
id value = [self valueForKeyPath:keyPath];
if ([value isKindOfClass:[NSArray class]])
Expand All @@ -524,12 +524,12 @@ - (NSString *)stringValueForKeyPath:(NSString *)keyPath
}
if ([value isKindOfClass:[NSDictionary class]])
{
return [(NSDictionary *)value innerText];
return [(NSDictionary *)value oss_innerText];
}
return value;
}

- (NSDictionary *)dictionaryValueForKeyPath:(NSString *)keyPath
- (NSDictionary *)oss_dictionaryValueForKeyPath:(NSString *)keyPath
{
id value = [self valueForKeyPath:keyPath];
if ([value isKindOfClass:[NSArray class]])
Expand All @@ -548,7 +548,7 @@ - (NSDictionary *)dictionaryValueForKeyPath:(NSString *)keyPath

@implementation NSString (OSSXMLDictionary)

- (NSString *)XMLEncodedString
- (NSString *)oss_XMLEncodedString
{
return [[[[[self stringByReplacingOccurrencesOfString:@"&" withString:@"&amp;"]
stringByReplacingOccurrencesOfString:@"<" withString:@"&lt;"]
Expand Down
10 changes: 5 additions & 5 deletions AliyunOSSiOSTests/OSSXMLDictionaryTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ - (void)tearDown {
- (void)testForXMLDictionary{

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"runsheng" ofType:@"xml"];
NSDictionary *dict = [NSDictionary dictionaryWithXMLFile:filePath];
NSLog(@"xml: %@",[dict XMLString]);
NSArray *array = [dict arrayValueForKeyPath:@"string-array"];
NSString *string = [dict stringValueForKeyPath:@"item"];
NSDictionary *dict1= [dict dictionaryValueForKeyPath:@"title"];
NSDictionary *dict = [NSDictionary oss_dictionaryWithXMLFile:filePath];
NSLog(@"xml: %@",[dict oss_XMLString]);
NSArray *array = [dict oss_arrayValueForKeyPath:@"string-array"];
NSString *string = [dict oss_stringValueForKeyPath:@"item"];
NSDictionary *dict1= [dict oss_dictionaryValueForKeyPath:@"title"];

NSLog(@"array:%@,string:%@,dict1:%@",array,string,dict1);

Expand Down

0 comments on commit 7c0b8c1

Please sign in to comment.