RemoteApiInstaller

com.google.appengine.tools.remoteapi

Class RemoteApiInstaller

  • java.lang.Object
    • com.google.appengine.tools.remoteapi.RemoteApiInstaller


  • public class RemoteApiInstaller
    extends java.lang.Object
    Installs and uninstalls the remote API. While the RemoteApi is installed, all App Engine calls made by the same thread that performed the installation will be sent to a remote server.

    Instances of this class can only be used on a single thread.

    • Constructor Detail

      • RemoteApiInstaller

        public RemoteApiInstaller()
    • Method Detail

      • installOnAllThreads

        public void installOnAllThreads(RemoteApiOptions options)
                                 throws java.io.IOException
        Installs the remote API on all threads using the provided options. Logs into the remote application using the credentials available via these options.

        Note that if installed using this method, the remote API cannot be uninstalled.

        Throws:
        java.lang.IllegalArgumentException - if the server or credentials weren't provided.
        java.lang.IllegalStateException - if already installed
        LoginException - if unable to log in.
        java.io.IOException - if unable to connect to the remote API.
      • install

        public void install(RemoteApiOptions options)
                     throws java.io.IOException
        Installs the remote API using the provided options. Logs into the remote application using the credentials available via these options.

        Warning: This method only installs the remote API on the current thread. Do not share this instance across threads!

        Throws:
        java.lang.IllegalArgumentException - if the server or credentials weren't provided.
        java.lang.IllegalStateException - if already installed
        LoginException - if unable to log in.
        java.io.IOException - if unable to connect to the remote API.
      • uninstall

        public void uninstall()
        Uninstalls the remote API. If any async calls are in progress, waits for them to finish.

        If the remote API isn't installed, this method has no effect.

      • serializeCredentials

        public java.lang.String serializeCredentials()
        Returns a string containing the cookies associated with this connection. The string can be used to create a new connection without logging in again by using RemoteApiOptions.reuseCredentials(java.lang.String, java.lang.String). By storing credentials to a file, we can avoid repeated password prompts in command-line tools. (Note that the cookies will expire based on the setting under Application Settings in the admin console.)

        Beware: it's important to keep this string private, as it allows admin access to the app as the current user.

      • logMethodCalls

        public void logMethodCalls()
        Starts logging remote API method calls to the console. (Useful within tests.)
      • resetRpcCount

        public void resetRpcCount()
      • getRpcCount

        public int getRpcCount()
        Returns the number of RPC calls made since the API was installed or resetRpcCount() was called.
      • makeDevAppServerCookie

        public static Cookie makeDevAppServerCookie(java.lang.String hostname,
                                                    java.lang.String email)