docs: def updateFeature(self,
                        features,
                        gdbVersion=None,
                        rollbackOnFailure=True):
          """
             updates an existing feature in a feature service layer
             Input:
                feature - feature object(s) to get updated.  A single feature
                          or a list of feature objects can be passed
             Output:
                dictionary of result messages
          """
          params = {
              "f" : "json",
              "rollbackOnFailure" : rollbackOnFailure
          }
          if gdbVersion is not None:
              params['gdbVersion'] = gdbVersion
          if isinstance(features, Feature):
              params['features'] = json.dumps([features.asDictionary])
          elif isinstance(features, list):
              vals = []
              for feature in features:
                  if isinstance(feature, Feature):
                      vals.append(feature.asDictionary)
              params['features'] = json.dumps(vals)
          elif isinstance(features, FeatureSet):
              params['features'] = json.dumps([f.asDictionary for f in features],
                                              default=_date_handler)
          else:
              return {'message' : "invalid inputs"}
          updateURL = self._url + "/updateFeatures"
          res = self._post(url=updateURL,
                              securityHandler=self._securityHandler,
                              param_dict=params, proxy_port=self._proxy_port,
                              proxy_url=self._proxy_url)
          return res