code: def preview_request(self, region, endpoint_name, method_name, url, query_params):
          
          if query_params is not None:
              for key, value in query_params.items():
                  if isinstance(value, bool):
                      query_params[key] = str(value).lower()
  
                  # check to see if we have a list/tuple, but not a string
                  if (
                      not hasattr(value, "strip")
                      and hasattr(value, "__getitem__")
                      or hasattr(value, "__iter__")
                  ):
                      for idx, val in enumerate(value):
                          if isinstance(val, bool):
                              value[idx] = str(val).lower()
docs: called before a request is processed.
  
          :param string endpoint_name: the name of the endpoint being requested
          :param string method_name: the name of the method being requested
          :param url: the URL that is being requested.
          :param query_params: dict: the parameters to the url that is being queried,
                                     e.g. ?key1=val&key2=val2