From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传

---
 screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3BucketRequest.m |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3BucketRequest.m b/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3BucketRequest.m
new file mode 100755
index 0000000..f4e6a8a
--- /dev/null
+++ b/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3BucketRequest.m
@@ -0,0 +1,175 @@
+//
+//  ASIS3BucketRequest.m
+//  Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest
+//
+//  Created by Ben Copsey on 16/03/2010.
+//  Copyright 2010 All-Seeing Interactive. All rights reserved.
+//
+
+#import "ASIS3BucketRequest.h"
+#import "ASIS3BucketObject.h"
+
+
+// Private stuff
+@interface ASIS3BucketRequest ()
+@property (retain, nonatomic) ASIS3BucketObject *currentObject;
+@property (retain) NSMutableArray *objects;
+@property (retain) NSMutableArray *commonPrefixes;
+@property (assign) BOOL isTruncated;
+@end
+
+@implementation ASIS3BucketRequest
+
+- (id)initWithURL:(NSURL *)newURL
+{
+	self = [super initWithURL:newURL];
+	[self setObjects:[[[NSMutableArray alloc] init] autorelease]];
+	[self setCommonPrefixes:[[[NSMutableArray alloc] init] autorelease]];
+	return self;
+}
+
++ (id)requestWithBucket:(NSString *)theBucket
+{
+	ASIS3BucketRequest *request = [[[self alloc] initWithURL:nil] autorelease];
+	[request setBucket:theBucket];
+	return request;
+}
+
++ (id)requestWithBucket:(NSString *)theBucket subResource:(NSString *)theSubResource
+{
+	ASIS3BucketRequest *request = [[[self alloc] initWithURL:nil] autorelease];
+	[request setBucket:theBucket];
+	[request setSubResource:theSubResource];
+	return request;
+}
+
++ (id)PUTRequestWithBucket:(NSString *)theBucket
+{
+	ASIS3BucketRequest *request = [self requestWithBucket:theBucket];
+	[request setRequestMethod:@"PUT"];
+	return request;
+}
+
+
++ (id)DELETERequestWithBucket:(NSString *)theBucket
+{
+	ASIS3BucketRequest *request = [self requestWithBucket:theBucket];
+	[request setRequestMethod:@"DELETE"];
+	return request;
+}
+
+- (void)dealloc
+{
+	[currentObject release];
+	[objects release];
+	[commonPrefixes release];
+	[prefix release];
+	[marker release];
+	[delimiter release];
+	[subResource release];
+	[bucket release];
+	[super dealloc];
+}
+
+- (NSString *)canonicalizedResource
+{
+	if ([self subResource]) {
+		return [NSString stringWithFormat:@"/%@/?%@",[self bucket],[self subResource]];
+	} 
+	return [NSString stringWithFormat:@"/%@/",[self bucket]];
+}
+
+- (void)buildURL
+{
+	NSString *baseURL;
+	if ([self subResource]) {
+		baseURL = [NSString stringWithFormat:@"%@://%@.%@/?%@",[self requestScheme],[self bucket],[[self class] S3Host],[self subResource]];
+	} else {
+		baseURL = [NSString stringWithFormat:@"%@://%@.%@",[self requestScheme],[self bucket],[[self class] S3Host]];
+	}
+	NSMutableArray *queryParts = [[[NSMutableArray alloc] init] autorelease];
+	if ([self prefix]) {
+		[queryParts addObject:[NSString stringWithFormat:@"prefix=%@",[[self prefix] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
+	}
+	if ([self marker]) {
+		[queryParts addObject:[NSString stringWithFormat:@"marker=%@",[[self marker] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
+	}
+	if ([self delimiter]) {
+		[queryParts addObject:[NSString stringWithFormat:@"delimiter=%@",[[self delimiter] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
+	}
+	if ([self maxResultCount] > 0) {
+		[queryParts addObject:[NSString stringWithFormat:@"max-keys=%i",[self maxResultCount]]];
+	}
+	if ([queryParts count]) {
+		NSString* template = @"%@?%@";
+		if ([[self subResource] length] > 0) {
+			template = @"%@&%@";
+		}
+		[self setURL:[NSURL URLWithString:[NSString stringWithFormat:template,baseURL,[queryParts componentsJoinedByString:@"&"]]]];
+	} else {
+		[self setURL:[NSURL URLWithString:baseURL]];
+
+	}
+}
+
+- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
+{
+	if ([elementName isEqualToString:@"Contents"]) {
+		[self setCurrentObject:[ASIS3BucketObject objectWithBucket:[self bucket]]];
+	}
+	[super parser:parser didStartElement:elementName namespaceURI:namespaceURI qualifiedName:qName attributes:attributeDict];
+}
+
+- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
+{
+	if ([elementName isEqualToString:@"Contents"]) {
+		[objects addObject:currentObject];
+		[self setCurrentObject:nil];
+	} else if ([elementName isEqualToString:@"Key"]) {
+		[[self currentObject] setKey:[self currentXMLElementContent]];
+	} else if ([elementName isEqualToString:@"LastModified"]) {
+		[[self currentObject] setLastModified:[[ASIS3Request S3ResponseDateFormatter] dateFromString:[self currentXMLElementContent]]];
+	} else if ([elementName isEqualToString:@"ETag"]) {
+		[[self currentObject] setETag:[self currentXMLElementContent]];
+	} else if ([elementName isEqualToString:@"Size"]) {
+		[[self currentObject] setSize:(unsigned long long)[[self currentXMLElementContent] longLongValue]];
+	} else if ([elementName isEqualToString:@"ID"]) {
+		[[self currentObject] setOwnerID:[self currentXMLElementContent]];
+	} else if ([elementName isEqualToString:@"DisplayName"]) {
+		[[self currentObject] setOwnerName:[self currentXMLElementContent]];
+	} else if ([elementName isEqualToString:@"Prefix"] && [[self currentXMLElementStack] count] > 2 && [[[self currentXMLElementStack] objectAtIndex:[[self currentXMLElementStack] count]-2] isEqualToString:@"CommonPrefixes"]) {
+		[[self commonPrefixes] addObject:[self currentXMLElementContent]];
+	} else if ([elementName isEqualToString:@"IsTruncated"]) {
+		[self setIsTruncated:[[self currentXMLElementContent] isEqualToString:@"true"]];
+	} else {
+		// Let ASIS3Request look for error messages
+		[super parser:parser didEndElement:elementName namespaceURI:namespaceURI qualifiedName:qName];
+	}
+}
+
+#pragma mark NSCopying
+
+- (id)copyWithZone:(NSZone *)zone
+{
+	ASIS3BucketRequest *newRequest = [super copyWithZone:zone];
+	[newRequest setBucket:[self bucket]];
+	[newRequest setSubResource:[self subResource]];
+	[newRequest setPrefix:[self prefix]];
+	[newRequest setMarker:[self marker]];
+	[newRequest setMaxResultCount:[self maxResultCount]];
+	[newRequest setDelimiter:[self delimiter]];
+	return newRequest;
+}
+
+@synthesize bucket;
+@synthesize subResource;
+@synthesize currentObject;
+@synthesize objects;
+@synthesize commonPrefixes;
+@synthesize prefix;
+@synthesize marker;
+@synthesize maxResultCount;
+@synthesize delimiter;
+@synthesize isTruncated;
+
+@end

--
Gitblit v1.8.0