@_errorHandle
    def callToRosProxy(self, command, parameter):
        def perform_action((url, key)):
            self._connected_rosapi_nodes[parameter] = (url, key)
            argList = [('userID', self._username), ('action', command),
                       ('key', key)]

            try:
                f = urlopen('{0}?{1}'.format(url, urlencode(argList)))
                response = json.loads(f.read())
                self.terminal.write(str(response['key']))
            except HTTPError as e:
                msg = e.read()
                if msg:
                    msg = ' - {0}'.format(msg)

                self.terminal.write('HTTP Error {0}: '
                                    '{1}{2}'.format(e.getcode(), e.msg, msg))

        try:
            url, key = self._connected_rosapi_nodes[parameter]
            perform_action((url, key))
        except KeyError:
            d = self._user['console'].callRemote('get_rosapi_connect_info',
                                                 parameter)
            d.addCallback(perform_action)
            d.addErrback(lambda err: self.terminal.write("Problem "
                                "in connection with master: "
                                "{0}".format(err)))
Function to handle call to ROSAPI Proxy Server.
dataset/ETHPy150Open rapyuta/rce/rce-console/rce/console/console.py/ConsoleClient.callToRosProxy