def add_request(self, method, relative_url, headers, body, source_ip,
                  module_name=None, version=None, instance_id=None,
                  fake_login=False):
    if module_name:
      _module = self._get_module_with_soft_routing(module_name, version)
      inst = _module.get_instance(instance_id) if instance_id else None
    else:
      headers_dict = wsgiref.headers.Headers(headers)
      _module, inst = self._resolve_target(
          headers_dict['Host'], urlparse.urlsplit(relative_url).path)
    if inst:
      try:
        port = _module.get_instance_port(inst.instance_id)
      except request_info.NotSupportedWithAutoScalingError:
        port = _module.balanced_port
    else:
      port = _module.balanced_port
    environ = _module.build_request_environ(method, relative_url, headers, body,
                                            source_ip, port,
                                            fake_login=fake_login)
    start_response = start_response_utils.CapturingStartResponse()
    response = self._handle_request(environ,
                                    start_response,
                                    _module,
                                    inst)

    # merged_response can have side effects which modify start_response.*, so
    # we cannot safely inline it into the ResponseTuple initialization below.
    merged = start_response.merged_response(response)
    return request_info.ResponseTuple(start_response.status,
                                      start_response.response_headers,
                                      merged)
Gets a virtual machine extension image.
dataset/ETHPy150Open GoogleCloudPlatform/python-compat-runtime/appengine-compat/exported_appengine_sdk/google/appengine/tools/devappserver2/dispatcher.py/Dispatcher.add_request--crossover with--dataset/ETHPy150Open Azure/azure-sdk-for-python/azure-mgmt-compute/azure/mgmt/compute/operations/virtual_machine_extension_images_operations.py/VirtualMachineExtensionImagesOperations.get