Story #8083

Updated by bmbouter over 3 years ago

## Use Cases 

 1. For RPM content, oracle linux needs headers sent for the server to respond properly. You can see this work started in these PR: and 

 2. For syncing content using Alternate Content Sources from Pulp instances in EC2, e.g. RHUI servers it also requires headers to be sent with downloads. 

 ## Solution 

 Given that there are two use cases for headers, and headers are a generic HTTP downloading concept, let's add them to [Remote]( and have the [DownloaderFactory]( DownloadFactory create downloaders with them. 

 These headers are ultimately passed to aiohttp as a dictionary [per their docs]( so let's store the field in DRF as a [DictField]( Probably defined as `DictField(child=CharField())`. 

 That means on `Remote` the new field would be: 

 headers = models.JsonField(null=True)