/**
 * Copyright© 2016, Oracle and/or its affiliates. All rights reserved.
 */
function PutProcessor(backend, apiName, endpointPath, platform, utils, persistence) {
  SyncProcessor.call(this, backend, apiName, endpointPath, true, utils, persistence);
  this.performRequest = function(url, requestHeaders, requestData) {
    var processor = this;
    var headers = processor.getHttpHeaders(requestHeaders);
    return platform.invokeService({
      method: utils.HTTP_METHODS.PUT,
      url: url,
      headers: headers,
      data: requestData
    }).then(success);
    function success(response) {
      return {
        uri: processor.getUri(response, url),
        data: response.data
      };
    }
  };
}
PutProcessor.prototype = Object.create(SyncProcessor.prototype);
PutProcessor.prototype.constructor = PutProcessor;