Sidebar

I have an HTTP source, how can I get the URL Query Parameters?

+1 vote
242 views
asked Nov 30, 2017 by brandon-w-8204 (33,170 points)

1 Answer

0 votes

Here is a function you can use to retrieve a query string value:

 

function getQueryParameterValue(urlQuery,parameterKey,defaultValueIn) {
   var defaultValue = (defaultValueIn && StringUtils.isNotEmpty(defaultValueIn)) ? defaultValueIn : '';
   
   // 1. Validate that we have a URL Query string
   if (StringUtils.isEmpty(urlQuery)) {
      return defaultValue;
   }

   // 2. Validate that we have a parameterKey
   if (StringUtils.isEmpty(parameterKey)) {
      return defaultValue;
   }
   
   var parameterValue = defaultValue;
   try {
      var urlParts = StringUtils.splitByWholeSeparator(urlQuery, "?");

      // If no "?", then treat the entire string as the queryParameters.
      var queryParams = urlParts.length > 1 ? urlParts[1] : urlParts[0];

      var keyPairs = StringUtils.splitByWholeSeparator(queryParams, "&");

      // cycle the list of key-value pairs and find the parameter
      // specified by the 'parameterKey' passed into this function
      for (var i = 0; i < keyPairs.length; i++) {
         var keyValueParts = StringUtils.splitByWholeSeparator(keyPairs[i], "=");
         
         if (keyValueParts.length == 2 && StringUtils.equalsIgnoreCase(keyValueParts[0], parameterKey)) {
            parameterValue = String(qie.urlDecode(keyValueParts[1]));
            break;
         }
      }
   } catch (err) {
      throw "Failed to getQueryParameterValue: " + err;
   }
   return parameterValue;
}

answered Nov 30, 2017 by brandon-w-8204 (33,170 points)
...