'Build up a configuration dictionary that is standard for ALL IEs.
TODO: replace hashed password with plaintext.'

def get_conf_dict(self):

    trans = self.trans
    request = trans.request
    api_key = api_keys.ApiKeyManager(trans.app).get_or_create_api_key(trans.user)
    conf_file = {'history_id': self.attr.history_id, 'api_key': api_key, 'remote_host': request.remote_addr, 'cors_origin': request.host_url, 'user_email': self.trans.user.email, 'proxy_prefix': self.attr.proxy_prefix}
    web_port = self.attr.galaxy_config.galaxy_infrastructure_web_port
    conf_file['galaxy_web_port'] = (web_port or self.attr.galaxy_config.guess_galaxy_port())
    if self.attr.viz_config.has_option('docker', 'galaxy_url'):
        conf_file['galaxy_url'] = self.attr.viz_config.get('docker', 'galaxy_url')
    elif self.attr.galaxy_config.galaxy_infrastructure_url_set:
        conf_file['galaxy_url'] = (self.attr.galaxy_config.galaxy_infrastructure_url.rstrip('/') + '/')
    else:
        conf_file['galaxy_url'] = (request.application_url.rstrip('/') + '/')
        conf_file['galaxy_paster_port'] = conf_file['galaxy_web_port']
    return conf_file
