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

Commit 4cbfb4e

Browse files
committed
Fix gzip header issue
1 parent d30962d commit 4cbfb4e

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
@@ -133,6 +133,10 @@ def wrapper(*args, **kwargs):
133133

134134
store = storage.load()
135135

136+
headers = source_resp.headers
137+
if 'Content-Encoding' in headers:
138+
del headers['Content-Encoding']
139+
136140
if not stream:
137141
logger.debug('JSON data found on source, writing response')
138142
resp_data = source_resp.content
@@ -143,19 +147,20 @@ def wrapper(*args, **kwargs):
143147
)
144148
return toolkit.response(
145149
data=resp_data,
146-
headers=source_resp.headers,
150+
headers=headers,
147151
raw=True
148152
)
149153
logger.debug('Layer data found on source, preparing to '
150154
'stream response...')
151155
layer_path = store.image_layer_path(kwargs['image_id'])
152-
return _handle_mirrored_layer(source_resp, layer_path, store)
156+
return _handle_mirrored_layer(source_resp, layer_path, store,
157+
headers)
153158

154159
return wrapper
155160
return decorator
156161

157162

158-
def _handle_mirrored_layer(source_resp, layer_path, store):
163+
def _handle_mirrored_layer(source_resp, layer_path, store, headers):
159164
sr = toolkit.SocketReader(source_resp)
160165
tmp, hndlr = storage.temp_store_handler()
161166
sr.add_handler(hndlr)
@@ -167,7 +172,7 @@ def generate():
167172
tmp.seek(0)
168173
store.stream_write(layer_path, tmp)
169174
tmp.close()
170-
return flask.Response(generate(), headers=source_resp.headers)
175+
return flask.Response(generate(), headers=headers)
171176

172177

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

0 commit comments

Comments
 (0)