The purpose of this PR is to add a new source - urs.earthdata.nasa.gov
Created an interface for sources, so that it would be possible to pick your source when creating a new SRTMData object.
Additionally, extended the SourceHelpers class to be able to handle both anonymous and authenticated downloads. Since this class is used only in the source classes, it is up to each source implementation to decide if they need credentials or not.
Did not implement tests for the new source, as I was unwilling to hard-code some kind of test account. If this is required, a local parameters file should be used to store credentials, but that is beyond the scope of this PR.
The purpose of this PR is to add a new source - urs.earthdata.nasa.gov
Created an interface for sources, so that it would be possible to pick your source when creating a new SRTMData object.
Additionally, extended the SourceHelpers class to be able to handle both anonymous and authenticated downloads. Since this class is used only in the source classes, it is up to each source implementation to decide if they need credentials or not.
Did not implement tests for the new source, as I was unwilling to hard-code some kind of test account. If this is required, a local parameters file should be used to store credentials, but that is beyond the scope of this PR.