Skip to content
This repository was archived by the owner on Sep 12, 2018. It is now read-only.

Commit 59180f0

Browse files
committed
Merge pull request #372 from dotcloud/mirroring_fixes
Fix gzip header issue
2 parents f105885 + 4cbfb4e commit 59180f0

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

docker_registry/lib/mirroring.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ def wrapper(*args, **kwargs):
135135

136136
store = storage.load()
137137

138+
headers = source_resp.headers
139+
if 'Content-Encoding' in headers:
140+
del headers['Content-Encoding']
141+
138142
if not stream:
139143
logger.debug('JSON data found on source, writing response')
140144
resp_data = source_resp.content
@@ -145,19 +149,20 @@ def wrapper(*args, **kwargs):
145149
)
146150
return toolkit.response(
147151
data=resp_data,
148-
headers=source_resp.headers,
152+
headers=headers,
149153
raw=True
150154
)
151155
logger.debug('Layer data found on source, preparing to '
152156
'stream response...')
153157
layer_path = store.image_layer_path(kwargs['image_id'])
154-
return _handle_mirrored_layer(source_resp, layer_path, store)
158+
return _handle_mirrored_layer(source_resp, layer_path, store,
159+
headers)
155160

156161
return wrapper
157162
return decorator
158163

159164

160-
def _handle_mirrored_layer(source_resp, layer_path, store):
165+
def _handle_mirrored_layer(source_resp, layer_path, store, headers):
161166
sr = toolkit.SocketReader(source_resp)
162167
tmp, hndlr = storage.temp_store_handler()
163168
sr.add_handler(hndlr)
@@ -169,7 +174,7 @@ def generate():
169174
tmp.seek(0)
170175
store.stream_write(layer_path, tmp)
171176
tmp.close()
172-
return flask.Response(generate(), headers=source_resp.headers)
177+
return flask.Response(generate(), headers=headers)
173178

174179

175180
def store_mirrored_data(data, endpoint, args, store):

0 commit comments

Comments
 (0)