From 21d3023a9b7b6aff68c1170e345951396b1c6cfd Mon Sep 17 00:00:00 2001
From: 单军华
Date: Tue, 31 Jul 2018 13:35:21 +0800
Subject: [PATCH] no message

---
 screendisplay/Pods/ASIHTTPRequest/Classes/CloudFiles/ASICloudFilesCDNRequest.m |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 167 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/ASIHTTPRequest/Classes/CloudFiles/ASICloudFilesCDNRequest.m b/screendisplay/Pods/ASIHTTPRequest/Classes/CloudFiles/ASICloudFilesCDNRequest.m
new file mode 100755
index 0000000..397a827
--- /dev/null
+++ b/screendisplay/Pods/ASIHTTPRequest/Classes/CloudFiles/ASICloudFilesCDNRequest.m
@@ -0,0 +1,167 @@
+//
+//  ASICloudFilesCDNRequest.m
+//
+//  Created by Michael Mayo on 1/6/10.
+//
+
+#import "ASICloudFilesCDNRequest.h"
+#import "ASICloudFilesContainerXMLParserDelegate.h"
+
+
+@implementation ASICloudFilesCDNRequest
+
+@synthesize accountName, containerName, xmlParserDelegate;
+
++ (id)cdnRequestWithMethod:(NSString *)method query:(NSString *)query {
+	NSString *urlString = [NSString stringWithFormat:@"%@%@", [ASICloudFilesRequest cdnManagementURL], query];
+	ASICloudFilesCDNRequest *request = [[[ASICloudFilesCDNRequest alloc] initWithURL:[NSURL URLWithString:urlString]] autorelease];
+	[request setRequestMethod:method];
+	[request addRequestHeader:@"X-Auth-Token" value:[ASICloudFilesRequest authToken]];
+	return request;
+}
+
++ (id)cdnRequestWithMethod:(NSString *)method containerName:(NSString *)containerName {
+	NSString *urlString = [NSString stringWithFormat:@"%@/%@", [ASICloudFilesRequest cdnManagementURL], containerName];
+	ASICloudFilesCDNRequest *request = [[[ASICloudFilesCDNRequest alloc] initWithURL:[NSURL URLWithString:urlString]] autorelease];
+	[request setRequestMethod:method];
+	[request addRequestHeader:@"X-Auth-Token" value:[ASICloudFilesRequest authToken]];
+	request.containerName = containerName;
+	return request;
+}
+
+#pragma mark -
+#pragma mark HEAD - Container Info
+
++ (id)containerInfoRequest:(NSString *)containerName {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"HEAD" containerName:containerName];
+	return request;
+}
+
+- (BOOL)cdnEnabled {
+    NSNumber *enabled = [[self responseHeaders] objectForKey:@"X-CDN-Enabled"];
+    if (!enabled) {
+        enabled = [[self responseHeaders] objectForKey:@"X-Cdn-Enabled"];
+    }
+	return [enabled boolValue];
+}
+
+- (NSString *)cdnURI {
+	NSString *uri = [[self responseHeaders] objectForKey:@"X-CDN-URI"];
+    if (!uri) {
+        uri = [[self responseHeaders] objectForKey:@"X-Cdn-Uri"];
+    }
+    return uri;
+}
+
+- (NSString *)cdnSSLURI {
+    NSString *uri = [[self responseHeaders] objectForKey:@"X-CDN-SSL-URI"];
+    if (!uri) {
+        uri = [[self responseHeaders] objectForKey:@"X-Cdn-Ssl-Uri"];
+    }
+	return uri;
+}
+
+- (NSUInteger)cdnTTL {
+    NSNumber *ttl = [[self responseHeaders] objectForKey:@"X-TTL"];
+    if (!ttl) {
+        ttl = [[self responseHeaders] objectForKey:@"X-Ttl"];
+    }
+    return [ttl intValue];
+}
+
+#pragma mark -
+#pragma mark GET - CDN Container Lists
+
++ (id)listRequest {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"GET" query:@"?format=xml"];
+	return request;
+}
+
++ (id)listRequestWithLimit:(NSUInteger)limit marker:(NSString *)marker enabledOnly:(BOOL)enabledOnly  {
+	NSString *query = @"?format=xml";
+	
+	if (limit > 0) {
+		query = [query stringByAppendingString:[NSString stringWithFormat:@"&limit=%i", limit]];
+	}
+	
+	if (marker) {
+		query = [query stringByAppendingString:[NSString stringWithFormat:@"&marker=%@", marker]];
+	}
+	
+	if (limit > 0) {
+		query = [query stringByAppendingString:[NSString stringWithFormat:@"&limit=%i", limit]];
+	}
+	
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"GET" query:query];
+	return request;
+}
+
+- (NSArray *)containers {
+	if (xmlParserDelegate.containerObjects) {
+		return xmlParserDelegate.containerObjects;
+	}
+	
+	NSXMLParser *parser = [[[NSXMLParser alloc] initWithData:[self responseData]] autorelease];
+	if (xmlParserDelegate == nil) {
+		xmlParserDelegate = [[ASICloudFilesContainerXMLParserDelegate alloc] init];
+	}
+	
+	[parser setDelegate:xmlParserDelegate];
+	[parser setShouldProcessNamespaces:NO];
+	[parser setShouldReportNamespacePrefixes:NO];
+	[parser setShouldResolveExternalEntities:NO];
+	[parser parse];
+	
+	return xmlParserDelegate.containerObjects;
+}
+
+#pragma mark -
+#pragma mark PUT - CDN Enable Container
+
+// PUT /<api version>/<account>/<container>
+// PUT operations against a Container are used to CDN-enable that Container.
+// Include an HTTP header of X-TTL to specify a custom TTL.
++ (id)putRequestWithContainer:(NSString *)containerName {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"PUT" containerName:containerName];
+	return request;
+}
+
++ (id)putRequestWithContainer:(NSString *)containerName ttl:(NSUInteger)ttl {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"PUT" containerName:containerName];	
+	[request addRequestHeader:@"X-Ttl" value:[NSString stringWithFormat:@"%i", ttl]];
+	return request;
+}
+
+#pragma mark -
+#pragma mark POST - Adjust CDN Attributes
+
+// POST /<api version>/<account>/<container>
+// POST operations against a CDN-enabled Container are used to adjust CDN attributes.
+// The POST operation can be used to set a new TTL cache expiration or to enable/disable public sharing over the CDN.
+// X-TTL: 86400
+// X-CDN-Enabled: True
++ (id)postRequestWithContainer:(NSString *)containerName {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"POST" containerName:containerName];
+	return request;
+}
+
++ (id)postRequestWithContainer:(NSString *)containerName cdnEnabled:(BOOL)cdnEnabled ttl:(NSUInteger)ttl {
+	ASICloudFilesCDNRequest *request = [ASICloudFilesCDNRequest cdnRequestWithMethod:@"POST" containerName:containerName];
+	if (ttl > 0) {
+		[request addRequestHeader:@"X-Ttl" value:[NSString stringWithFormat:@"%i", ttl]];
+	}
+	[request addRequestHeader:@"X-CDN-Enabled" value:cdnEnabled ? @"True" : @"False"];
+	return request;
+}
+
+#pragma mark -
+#pragma mark Memory Management
+
+-(void)dealloc {
+	[accountName release];
+	[containerName release];
+	[xmlParserDelegate release];
+	[super dealloc];
+}
+
+@end

--
Gitblit v1.8.0