commit 5fd90a95c61f81d54ee1e37dcc1ed709a6646252 Author: Matthew Ogilvie Date: Sun Dec 28 20:14:15 2014 -0700 honor x-unique-cache-name header in flat mode, if present This allows things like different versions of the adobe-flash downloader that are given different names in a flat download directory (like in gentoo) to work in an http-replicator cache as well. As long as the fetcher passes the custom name through the experimental header... See gentoo bug # 442874 diff --git a/http-replicator b/http-replicator index 19ae427..befe9f2 100755 --- a/http-replicator +++ b/http-replicator @@ -311,7 +311,12 @@ class HttpClient (Http): self.log.info('requested range: bytes %s to %s' % self.range) # log request head = '' - for tail in self.path.split('/'): # iterate over items in path + adjUrlPath = self.path; + if not self.direct and self.flat: + uniqueCacheName = body.get('x-unique-cache-name') + if uniqueCacheName: + adjUrlPath = uniqueCacheName + for tail in adjUrlPath.split('/'): # iterate over items in path head = os.path.join(head, tail) # build target path if head in self.alias: # path up till now hos an alias head = self.alias[head] # replace by alias