code: def SynchronizedRequest(client,
                          request,
                          global_endpoint_manager,
                          connection_policy,
                          requests_session,
                          method,
                          path,
                          request_data,
                          query_params,
                          headers):
      
      request_body = None
      if request_data:
          request_body = _RequestBodyFromData(request_data)
          if not request_body:
             raise errors.UnexpectedDataType(
                 'parameter data must be a JSON object, string or' +
                 ' readable stream.')
  
      request_options = {}
      request_options['path'] = path
      request_options['method'] = method
      if query_params:
          request_options['path'] += '?' + urlencode(query_params)
  
      request_options['headers'] = headers
      if request_body and (type(request_body) is str or
                           type(request_body) is six.text_type):
          request_options['headers'][http_constants.HttpHeaders.ContentLength] = (
              len(request_body))
      elif request_body is None:
          request_options['headers'][http_constants.HttpHeaders.ContentLength] = 0
  
      # Pass _Request function with it's parameters to retry_utility's Execute method that wraps the call with retries
      return retry_utility._Execute(client, global_endpoint_manager, _Request, request, connection_policy, requests_session, path, request_options, request_body)
docs: Performs one synchronized http request according to the parameters.
  
      :param object client:
          Document client instance
      :param dict request:
      :param _GlobalEndpointManager global_endpoint_manager: 
      :param  documents.ConnectionPolicy connection_policy:
      :param requests.Session requests_session:
          Session object in requests module
      :param str method:
      :param str path:
      :param (str, unicode, file-like stream object, dict, list or None) request_data:
      :param dict query_params:
      :param dict headers:
  
      :return:
          tuple of (result, headers)
      :rtype:
          tuple of (dict dict)