@@ -, +, @@ 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 --- a/http-replicator +++ a/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