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/ASIS3ObjectRequest.m |  164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3ObjectRequest.m b/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3ObjectRequest.m
new file mode 100755
index 0000000..99442bb
--- /dev/null
+++ b/screendisplay/Pods/ASIHTTPRequest/Classes/S3/ASIS3ObjectRequest.m
@@ -0,0 +1,164 @@
+//
+//  ASIS3ObjectRequest.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 "ASIS3ObjectRequest.h"
+
+NSString *const ASIS3StorageClassStandard = @"STANDARD";
+NSString *const ASIS3StorageClassReducedRedundancy = @"REDUCED_REDUNDANCY";
+
+@implementation ASIS3ObjectRequest
+
+- (ASIHTTPRequest *)HEADRequest
+{
+	ASIS3ObjectRequest *headRequest = (ASIS3ObjectRequest *)[super HEADRequest];
+	[headRequest setKey:[self key]];
+	[headRequest setBucket:[self bucket]];
+	return headRequest;
+}
+
++ (id)requestWithBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [[[self alloc] initWithURL:nil] autorelease];
+	[newRequest setBucket:theBucket];
+	[newRequest setKey:theKey];
+	return newRequest;
+}
+
++ (id)requestWithBucket:(NSString *)theBucket key:(NSString *)theKey subResource:(NSString *)theSubResource
+{
+	ASIS3ObjectRequest *newRequest = [[[self alloc] initWithURL:nil] autorelease];
+	[newRequest setSubResource:theSubResource];
+	[newRequest setBucket:theBucket];
+	[newRequest setKey:theKey];
+	return newRequest;
+}
+
++ (id)PUTRequestForData:(NSData *)data withBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [self requestWithBucket:theBucket key:theKey];
+	[newRequest appendPostData:data];
+	[newRequest setRequestMethod:@"PUT"];
+	return newRequest;
+}
+
++ (id)PUTRequestForFile:(NSString *)filePath withBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [self requestWithBucket:theBucket key:theKey];
+	[newRequest setPostBodyFilePath:filePath];
+	[newRequest setShouldStreamPostDataFromDisk:YES];
+	[newRequest setRequestMethod:@"PUT"];
+	[newRequest setMimeType:[ASIHTTPRequest mimeTypeForFileAtPath:filePath]];
+	return newRequest;
+}
+
++ (id)DELETERequestWithBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [self requestWithBucket:theBucket key:theKey];
+	[newRequest setRequestMethod:@"DELETE"];
+	return newRequest;
+}
+
++ (id)COPYRequestFromBucket:(NSString *)theSourceBucket key:(NSString *)theSourceKey toBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [self requestWithBucket:theBucket key:theKey];
+	[newRequest setRequestMethod:@"PUT"];
+	[newRequest setSourceBucket:theSourceBucket];
+	[newRequest setSourceKey:theSourceKey];
+	return newRequest;
+}
+
++ (id)HEADRequestWithBucket:(NSString *)theBucket key:(NSString *)theKey
+{
+	ASIS3ObjectRequest *newRequest = [self requestWithBucket:theBucket key:theKey];
+	[newRequest setRequestMethod:@"HEAD"];
+	return newRequest;
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+	ASIS3ObjectRequest *newRequest = [super copyWithZone:zone];
+	[newRequest setBucket:[self bucket]];
+	[newRequest setKey:[self key]];
+	[newRequest setSourceBucket:[self sourceBucket]];
+	[newRequest setSourceKey:[self sourceKey]];
+	[newRequest setMimeType:[self mimeType]];
+	[newRequest setSubResource:[self subResource]];
+	[newRequest setStorageClass:[self storageClass]];
+	return newRequest;
+}
+
+- (void)dealloc
+{
+	[bucket release];
+	[key release];
+	[mimeType release];
+	[sourceKey release];
+	[sourceBucket release];
+	[subResource release];
+	[storageClass release];
+	[super dealloc];
+}
+
+- (void)buildURL
+{
+	if ([self subResource]) {
+		[self setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@://%@.%@%@?%@",[self requestScheme],[self bucket],[[self class] S3Host],[ASIS3Request stringByURLEncodingForS3Path:[self key]],[self subResource]]]];
+	} else {
+		[self setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@://%@.%@%@",[self requestScheme],[self bucket],[[self class] S3Host],[ASIS3Request stringByURLEncodingForS3Path:[self key]]]]];
+	}
+}
+
+- (NSString *)mimeType
+{
+	if (mimeType) {
+		return mimeType;
+	} else if ([self postBodyFilePath]) {
+		return [ASIHTTPRequest mimeTypeForFileAtPath:[self postBodyFilePath]];
+	} else {
+		return @"application/octet-stream";
+	}
+}
+
+- (NSString *)canonicalizedResource
+{
+	if ([[self subResource] length] > 0) {
+		return [NSString stringWithFormat:@"/%@%@?%@",[self bucket],[ASIS3Request stringByURLEncodingForS3Path:[self key]], [self subResource]];
+	}
+	return [NSString stringWithFormat:@"/%@%@",[self bucket],[ASIS3Request stringByURLEncodingForS3Path:[self key]]];
+}
+
+- (NSMutableDictionary *)S3Headers
+{
+	NSMutableDictionary *headers = [super S3Headers];
+	if ([self sourceKey]) {
+		NSString *path = [ASIS3Request stringByURLEncodingForS3Path:[self sourceKey]];
+		[headers setObject:[[self sourceBucket] stringByAppendingString:path] forKey:@"x-amz-copy-source"];
+	}
+	if ([self storageClass]) {
+		[headers setObject:[self storageClass] forKey:@"x-amz-storage-class"];
+	}
+	return headers;
+}
+
+- (NSString *)stringToSignForHeaders:(NSString *)canonicalizedAmzHeaders resource:(NSString *)canonicalizedResource
+{
+	if ([[self requestMethod] isEqualToString:@"PUT"] && ![self sourceKey]) {
+		[self addRequestHeader:@"Content-Type" value:[self mimeType]];
+		return [NSString stringWithFormat:@"PUT\n\n%@\n%@\n%@%@",[self mimeType],dateString,canonicalizedAmzHeaders,canonicalizedResource];
+	} 
+	return [super stringToSignForHeaders:canonicalizedAmzHeaders resource:canonicalizedResource];
+}
+
+@synthesize bucket;
+@synthesize key;
+@synthesize sourceBucket;
+@synthesize sourceKey;
+@synthesize mimeType;
+@synthesize subResource;
+@synthesize storageClass;
+@end

--
Gitblit v1.8.0