005
This commit is contained in:
+34
-16
@@ -69,29 +69,29 @@
|
||||
variables.framework.allowCrossDomain = true; // соответствующие заголовки, включая Access-Control-Allow-Origin выставляются только при наличии заголовка origin в реквесте
|
||||
//variables.framework.allowCrossDomain = ""; // перепишем явно, возвращая Origin
|
||||
|
||||
//variables.framework.docs={};
|
||||
variables.framework.docs.APIName="Deck API";
|
||||
variables.framework.docs.APIVersion="0.005";
|
||||
|
||||
variables.framework.globalHeaders = structNew();
|
||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||
variables.framework.globalHeaders["Access-Control-Allow-Credentials"] = "true";
|
||||
variables.framework.globalHeaders["X-Application-Version"] = "0.00.004";
|
||||
//variables.framework.globalHeaders["Access-Control-Allow-Origin"] = "*"; //*** не знаю, нужно ли - но просили этот заголовок
|
||||
//variables.framework.globalHeaders["X-MY-HEADER"] = "my header value for example";
|
||||
|
||||
//variables.framework.docs={};
|
||||
variables.framework.docs.APIName="Deck API";
|
||||
variables.framework.docs.APIVersion="0.004";
|
||||
variables.framework.globalHeaders["X-Application-Version"] = variables.framework.docs.APIVersion;
|
||||
//variables.framework.globalHeaders["Access-Control-Allow-Origin"] = "*";
|
||||
|
||||
request.UNDEFINED_USR_ID=-1;
|
||||
request.ANONYMOUS_USR_ID=2;
|
||||
request.GUEST_USR_ID=3;
|
||||
request.GUEST_USR_ID=3
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
request.ORCHESTRATOR_AUTH = createObject("java", "java.lang.System").getEnv("ORCHESTRATOR_AUTH");
|
||||
if (isNull(request.ORCHESTRATOR_AUTH)) {
|
||||
request.ORCHESTRATOR_AUTH = "Basic c3ZjX2xrdGVzdDoxMTgzZDIyNzc1OWExYjFkZmVjM2M3NTFiMzIyNzdiYTQ3";//*** времянка, дубль из корневого Application.cfm
|
||||
}
|
||||
//почему-то scope this ведет себя совершенно не так, как request и variables
|
||||
// в нем переменная имеет значение Empty:null и можно выполнить writedump, а в других получаем ошибку, что такой переменной нет
|
||||
|
||||
//*** почему-то scope this ведет себя совершенно не так, как request и variables
|
||||
// в нем, когда переменная получает значение Empty:null, можно выполнить writedump, а в других получаем ошибку, что такой переменной нет
|
||||
request.locateIamService=locateIamService; //for possible debug
|
||||
//request.IAM_SERVICE_URL=this.iamServiceUrl;
|
||||
</cfscript>
|
||||
|
||||
<!--- <cfset this.orchestrator_authorization_string=createObject("java", "java.lang.System").getEnv("ORCHESTRATOR_AUTH")/>
|
||||
@@ -104,8 +104,24 @@
|
||||
<!--- <cfset application.dbUser = "username" />
|
||||
<cfset application.dbPass = "password" />--->
|
||||
<!---<cfset application._taffy.settings.allowCrossDomain = true/>--->
|
||||
<cfset this.iamServiceUrl=locateIamService()/> <!--- ***при недоступности будет падать все --->
|
||||
<cfreturn super.onApplicationStart() />
|
||||
</cffunction>
|
||||
</cffunction>
|
||||
|
||||
|
||||
<cffunction name="locateIamService"><!--- *** архитектурный колхоз --->
|
||||
<cfloop list="https://personal-cabinet.adl.nubes.ru/api/v1/user,https://deck.ngcloud.ru/api/v1/user" index="serviceUrl"><!--- *** начиная с девелоперского --->
|
||||
<cftry>
|
||||
<cfhttp url=#serviceUrl# method="OPTIONS" result="resp" timeout=1/>
|
||||
<!--- <cfdump var=#resp#/> --->
|
||||
<cfreturn serviceUrl/>
|
||||
<cfcatch type="any">
|
||||
<!--- <cfdump var=#cfcatch#/> --->
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
</cfloop>
|
||||
<cfthrow message="IAM service unavailable" detail="cannot find IAM"/>
|
||||
</cffunction>
|
||||
|
||||
<!--- <cffunction name="onRequest">
|
||||
<cfargument name="template" type="string" required="true"/>
|
||||
@@ -149,7 +165,7 @@
|
||||
|
||||
//if (UCase(arguments.verb) EQ 'OPTIONS') return newRepresentation().noData().withStatus("204","No Data").withHeaders({"Content-Type":"application/json;charset=utf-8"});
|
||||
if (UCase(arguments.verb) EQ 'OPTIONS') return true;
|
||||
/*
|
||||
|
||||
var auth="";
|
||||
if (structKeyExists(headers,"Authorization")) {
|
||||
auth=headers.Authorization;
|
||||
@@ -157,7 +173,7 @@
|
||||
return representationOf("Authorization header expected").withStatus(401);
|
||||
}
|
||||
|
||||
var httpService = new http(method = "GET", charset = "utf-8", url = "https://personal-cabinet.adl.nubes.ru/api/v1/user", timeout="3");
|
||||
var httpService = new http(method = "GET", charset = "utf-8", url = #this.iamServiceUrl#, timeout="3");
|
||||
httpService.addParam(type = "HEADER", name = "Accept", value = "application/json");
|
||||
httpService.addParam(type = "HEADER", name = "Authorization", value = "#auth#"); //passthrough
|
||||
var resp = httpService.send();
|
||||
@@ -171,7 +187,7 @@
|
||||
if (structIsEmpty(usrCustomerInfo)) return representationOf("Cannot find default specification for current user #result#").withStatus(422);
|
||||
arguments.requestArguments.usrId=usrCustomerInfo.usrId; //Integer!
|
||||
arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //Integer
|
||||
*/
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
@@ -749,4 +765,6 @@
|
||||
<cfreturn true />
|
||||
</cffunction>
|
||||
|
||||
|
||||
|
||||
</cfcomponent>
|
||||
|
||||
Reference in New Issue
Block a user