forked from simonfree/cfAWSWrapper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathamazonSWS.cfc
73 lines (61 loc) · 3.21 KB
/
amazonSWS.cfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<cfcomponent output="false" extends="amazonAWS" >
<cffunction name="init" access="public" returntype="amazonSWS" >
<cfargument name="awsAccessKeyId" type="string" required="true"/>
<cfargument name="secretAccessKey" type="string" required="true"/>
<cfargument name="endPoint" type="string" required="true" default="https://swf.us-east-1.amazonaws.com"/>
<cfset variables.awsAccessKeyId = arguments.awsAccessKeyId />
<cfset variables.secretAccesskey = arguments.secretAccessKey />
<cfset variables.endPoint = arguments.endPoint />
<cfset variables.requestMethod = '' />
<cfset variables.version = '2012-01-25' />
<cfset variables.protocol = 'https://' />
<cfreturn this />
</cffunction>
<cffunction name="ListDomains" access="public" returntype="Array" >
<cfset var body = "Action=ListDomains" />
<cfset var rawResult = makeRequestFull(
endPoint = variables.endPoint,
awsAccessKeyId = variables.awsAccessKeyId,
secretAccesskey = variables.secretAccesskey,
body=body,
requestMethod=variables.requestMethod,
version = variables.version,
protocol = variables.protocol) />
<cfdump var="#rawResult#" /><cfabort>
<cfset rawResult = getResultNodes(xmlParse(rawResult),'member') />
<cfset var aResults = [] />
<cfloop array="#rawResult#" index="member">
<cfset arrayAppend(aResults,member.xmlText) />
</cfloop>
<cfreturn aResults />
</cffunction>
<cffunction name="ListActivityTypes" access="public" returntype="Struct" >
<cfargument name="domain" type="string" required="true" >
<cfargument name="registrationStatus" type="string" required="true" >
<cfset var stResponse = createResponse() />
<cfset var body = "Action=ListActivityTypes&domain=" & trim(arguments.domain) & "®istrationStatus=" & trim(arguments.registrationStatus)/>
<cfset var rawResult = makeRequestFull(
endPoint = variables.endPoint,
awsAccessKeyId = variables.awsAccessKeyId,
secretAccesskey = variables.secretAccesskey,
body=body,
requestMethod = variables.requestMethod,
version = variables.version,
protocol = variables.protocol ) />
<cfif rawResult.statusCode neq 200>
<cfdump var="#rawResult#" /><cfabort>
<cfset error = getResultNodes(xmlParse(rawResult.fileContent),'Error')[1] />
<cfset stResponse.success=false />
<cfset stResponse.statusCode=rawResult.statusCode />
<cfset stResponse.error=error.Code.xmlText/>
<cfset stResponse.errorType=error.Type.xmlText/>
<cfset stResponse.errorMessage=error.Message.xmlText/>
<cfelse>
<cfdump var="#xmlParse(rawResult.filecontent)#" /><cfabort>
<cfset dataResult = getResultNodes(xmlParse(rawResult.filecontent),'AccessKey')[1] />
<cfset stResponse.result = {} />
</cfif>
<cfset stResponse.requestID = getResultNodes(xmlParse(rawResult.fileContent),'RequestId')[1].xmltext />
<cfreturn stResponse />
</cffunction>
</cfcomponent>