Esempio n. 1
0
        /// <summary>
        /// Creates response module
        /// </summary>
        /// <param name="moduleFolder">Folder path reference to create Response module</param>
        /// <param name="name">Name of Response module</param>
        /// <param name="wseModuleParser">Contains transport information used to fill in Response Module</param>
        /// <param name="correlationId">Uniquely identify the Response Module</param>
        /// <returns></returns>
        public static ApiModule CreateResponseModule(TCFolder moduleFolder,
                                                     string name,
                                                     IWseArtifactsParser wseModuleParser,
                                                     string correlationId
                                                     )
        {
            //tosca specific properties
            ApiModule responseApiModule =
                SetModuleStandardProperties(moduleFolder,
                                            name,
                                            correlationId,
                                            ScanTag.GetResponseScanTag(wseModuleParser));

            responseApiModule.AddTechnicalIdParam("Direction", Direction.In.ToString());
            responseApiModule.AddTechnicalIdParam("InactiveNodes", "Keep");
            responseApiModule.AddTechnicalIdParam("IsRequest", "False");
            responseApiModule.AddConfigurationParam("Executor", "HttpReceive");
            responseApiModule.AddHeaders(wseModuleParser.ResponseHeaders);
            responseApiModule.AddTechnicalIdParam("StatusCode", wseModuleParser.ResponseStatus);
            if (!string.IsNullOrEmpty(wseModuleParser.ResponsePayload))
            {
                responseApiModule.APISetMessagePayload(wseModuleParser.ResponsePayload);
            }
            return(responseApiModule);
        }
Esempio n. 2
0
        private static ApiModule SetModuleStandardProperties(TCFolder moduleFolder,
                                                             string name,
                                                             string correlationId,
                                                             string scanTag)
        {
            ApiModule requestApiModule = moduleFolder.CreateApiModule();

            requestApiModule.Name = name;
            requestApiModule.EnsureUniqueName();
            requestApiModule.AddTechnicalIdParam("CorrelationId", correlationId);
            requestApiModule.AddTechnicalIdParam("Version", AddOnConstants.ToscaVersion);
            requestApiModule.AddConfigurationParam("Engine", "API");
            requestApiModule.AddTechnicalIdParam("ScanTag", scanTag);
            return(requestApiModule);
        }
 /// <summary>
 /// Add params of type Query to the Params section in tosca
 /// </summary>
 /// <param name="apiModule">API Module</param>
 /// <param name="pathParams">Dictionary of query params to be added</param>
 public static void AddQueryParams(this ApiModule apiModule, Dictionary <string, string> queryParams)
 {
     foreach (KeyValuePair <string, string> queryParam in queryParams)
     {
         apiModule.APIAddMessageParameter(queryParam.Key, queryParam.Value, "Query");
     }
     apiModule.AddTechnicalIdParam("QueryParams", string.Join(";", queryParams));
 }
Esempio n. 4
0
        /// <summary>
        /// Creates request module
        /// </summary>
        /// <param name="moduleFolder">Folder path reference to create Request module</param>
        /// <param name="name">Name of Request module</param>
        /// <param name="wseModuleParser">Contains transport information used to fill in Request Module</param>
        /// <param name="correlationId">Uniquely identify the Request Module</param>
        /// <returns></returns>
        public static ApiModule CreateRequestModule(TCFolder moduleFolder,
                                                    string name,
                                                    IWseArtifactsParser wseModuleParser,
                                                    string correlationId)
        {
            //Module Properties
            ApiModule requestApiModule =
                SetModuleStandardProperties(moduleFolder,
                                            name,
                                            correlationId,
                                            ScanTag.GetRequestScanTag(wseModuleParser));

            //Request Properties
            requestApiModule.AddTechnicalIdParam("Direction", Direction.Out.ToString());
            requestApiModule.AddTechnicalIdParam("InactiveNodes", "Remove");
            requestApiModule.AddTechnicalIdParam("IsRequest", "True");
            requestApiModule.AddTechnicalIdParam("MessagesGenerated", "True");
            requestApiModule.AddConfigurationParam("Executor", "HttpSend");
            requestApiModule.AddTechnicalIdParam("Method", wseModuleParser.Method);
            requestApiModule.AddTechnicalIdParam("Endpoint", wseModuleParser.Endpoint);
            requestApiModule.AddTechnicalIdParam("Resource", wseModuleParser.Resource);
            requestApiModule.AddQueryParams(wseModuleParser.QueryParams);
            requestApiModule.AddPathParams(wseModuleParser.PathParams);
            requestApiModule.AddHeaders(wseModuleParser.Headers);
            if (!string.IsNullOrEmpty(wseModuleParser.RequestPayload))
            {
                requestApiModule.APISetMessagePayload(wseModuleParser.RequestPayload);
            }
            return(requestApiModule);
        }