Skip to content

DMC-1381: Refactor the HTTP copy modes

Mihai Patrascoiu requested to merge DMC-1381_copy_mode into develop

The reason for this change was to have the DEFAULT_COPY_MODE config option configurable per Storage Endpoint.

However, requirements regarding the copy mode have been added in the past on a case-by-case basis. Adding this additional restriction was difficult and would've made the surrounding code more confusing.

This merge request cleans up the HTTP Copy Mode selection and fallback process.

A standalone "HttpCopyMode" class is introduced, which will encapsulate the copy mode and streaming flags, as well as iterate through the copy mode fallbacks. Many utility functions previously used to play with the copy mode have now been moved instead to this class. A factory method to generate the CopyMode object is provided

Closes DMC-1381

Merge request reports