Map could read remote file from result of Fido.search(), without downloading file explicitly
Describe the feature
The Map() constructor can read a local file, e.g. after download by Fido.search(). It can also read a remote file, specified by its URL.
The idea would be to allow reading a remote file specified as an item of the result from Fido.search().
Rationale:
- one step less for simple, quick tasks
- no need for the code to manage file names
- no need to store files used only once
- (maybe there is still caching?)
Proposed solution
The URL of the file must be somewhere in the Fido.search() result (although I couldn't find it), as it is used by parfive.Downloader.download() called by Fido.fetch().
When Map() is called with a Fido.search() result, the proposed solution is to take this URL, then behave exactly how Map() behaves when called with an URL.
The underlying assumption here that search() has the URLs isn't strictly true, it's only in fetch() that we get the URLs for some clients (VSO and JSOC are notable examples).
There also isn't a lot of point in skipping the fetch() call currently, as Map() will just download the file and then open it. Making it worthwhile adding something like what you suggest would need sunpy map to grow support for remote FITS file loading, such as that being added in https://github.com/astropy/astropy/pull/13238.