Esempio n. 1
0
  def _GetRpcServer(self, timeout_max_errors=2):
    """Returns an instance of an AbstractRpcServer.

    Args:
      timeout_max_errors: How many timeout errors to retry.
    Returns:
      A new AbstractRpcServer, on which RPC calls can be made.
    """
    log.debug('Host: {0}'.format(self.server))

    if self._IsGceEnvironment():
      credentials = oauth2client_gce.AppAssertionCredentials()
    else:
      credentials = None

    # In this case, the get_user_credentials parameters to the RPC server
    # constructor is actually an OAuth2Parameters.

    get_user_credentials = (
        appengine_rpc_httplib2.HttpRpcServerOAuth2.OAuth2Parameters(
            access_token=self.oauth2_access_token,
            client_id=self.client_id,
            client_secret=self.client_secret,
            scope=APPCFG_SCOPES,
            refresh_token=self.oauth2_refresh_token,
            credential_file=None,
            token_uri=None,
            credentials=credentials))
    # Also set gflags flag... this is a bit of a hack.
    if hasattr(appengine_rpc_httplib2.tools, 'FLAGS'):
      appengine_rpc_httplib2.tools.FLAGS.auth_local_webserver = True

    server = RpcServerClass(
        self.server,
        get_user_credentials,
        util.GetUserAgent(),
        util.GetSourceName(),
        host_override=None,
        save_cookies=True,
        auth_tries=3,
        timeout_max_errors=timeout_max_errors,
        account_type='HOSTED_OR_GOOGLE',
        secure=True,
        ignore_certs=self.ignore_bad_certs,
        http_object=http.Http())
    # TODO(b/36050949) Hack to avoid failure due to missing cacerts.txt
    # resource.
    server.certpath = None
    # Don't use a cert file if the user passed ignore-bad-certs.
    server.cert_file_available = not self.ignore_bad_certs
    return util.RPCServer(server)
Esempio n. 2
0
    def _GetRpcServer(self):
        """Returns an instance of an AbstractRpcServer.

    Returns:
      A new AbstractRpcServer, on which RPC calls can be made.
    """
        log.debug('Host: {0}'.format(self.server))

        # In this case, the get_user_credentials parameters to the RPC server
        # constructor is actually an OAuth2Parameters.
        get_user_credentials = (
            appengine_rpc_httplib2.HttpRpcServerOAuth2.OAuth2Parameters(
                access_token=self.oauth2_access_token,
                client_id=config.CLOUDSDK_CLIENT_ID,
                client_secret=config.CLOUDSDK_CLIENT_NOTSOSECRET,
                scope=APPCFG_SCOPES,
                refresh_token=self.oauth2_refresh_token,
                credential_file=None,
                token_uri=self._GetTokenUri()))
        # Also set gflags flag... this is a bit of a hack.
        if hasattr(appengine_rpc_httplib2.tools, 'FLAGS'):
            appengine_rpc_httplib2.tools.FLAGS.auth_local_webserver = True

        server = RpcServerClass(self.server,
                                get_user_credentials,
                                util.GetUserAgent(),
                                util.GetSourceName(),
                                host_override=None,
                                save_cookies=True,
                                auth_tries=3,
                                account_type='HOSTED_OR_GOOGLE',
                                secure=True,
                                ignore_certs=self.ignore_bad_certs)
        # TODO(user) Hack to avoid failure due to missing cacerts.txt resource.
        server.certpath = None
        # Don't use a cert file if the user passed ignore-bad-certs.
        server.cert_file_available = not self.ignore_bad_certs
        return util.RPCServer(server)