code: def put(self):
          
          self.fp = self.get_body_argument('filepath')
          self.action = self.get_body_argument('action')
  
          try:
              ptype = self.fs.get_type_from_path(self.fp)
          except OSError:
              raise tornado.web.HTTPError(404)
          if ptype == 'directory':
              self.handler_name = 'filesystem:directories-details'
          else:
              self.handler_name = 'filesystem:files-details'
  
          if self.action['action'] == 'move':
              newpath = self._move()
              self.write({'filepath':newpath})
          elif self.action['action'] == 'copy':
              newpath = self._copy()
              self.write({'filepath':newpath})
          elif self.action['action'] == 'rename':
              newpath = self._rename()
              self.write({'filepath':newpath})
          else:
              raise tornado.web.HTTPError(400)
docs: Provides move, copy, and rename functionality. An action must be
          specified when calling this method.