def POST(self): '''handle POST calls''' headers = cherrypy.request.headers cmd = dict() try: cmd.update(headers) except KeyError, exp: raise cherrypy.HTTPError(400)
def DELETE(self): '''handle DELETE calls''' # parse the input headers = cherrypy.request.headers cmd = dict() try: cmd.update(headers) except KeyError, exp: raise cherrypy.HTTPError(400)
def _postCommandAndWait(self, name, cmdObject, args=None): ''' Post a command to the server and then post a get to get the results. This will set the wait parameter in the get to ensure we wait untill the get returns ''' if (args is None): args = {} cmd = {} cmd['name'] = name cmd['object'] = cmdObject cmd.update(args) url = '%s/api/v1/cblr/session/%d/command' % (self.url, self.session) # post the command cmdobj = self._doPost(url, cmd) try: # reset our keepalive - we just did a command self.keepaliveSec = 0 # now wait for the reply url += '/%d' % cmdobj['id'] ret = self._doGet(url, params={'wait':'true'}) except KeyboardInterrupt: # we got a keyboard interupt. Try to cancel # the pending command cancel = {'id' : cmdobj['id'], 'status' : 'cancel'} self._doPut(url, data_dict=cancel) print "Command Canceled" raise CliCommandCanceled("Command canceled") err = ret.get('result_code', 0) if (err != 0): raise CmdSensorWindowsError(err) return ret