3
3
import datetime
4
4
import functools
5
5
import logging
6
- import re
7
6
import time
8
7
9
8
import flask
28
27
29
28
store = storage .load ()
30
29
logger = logging .getLogger (__name__ )
31
- _re_hex_image_id = re .compile (r'^([a-f0-9]{16}|[a-f0-9]{64})$' )
32
30
33
31
34
32
def require_completion (f ):
@@ -62,16 +60,6 @@ def wrapper(*args, **kwargs):
62
60
return wrapper
63
61
64
62
65
- def valid_image_id (f ):
66
- @functools .wraps (f )
67
- def wrapper (* args , ** kwargs ):
68
- image_id = kwargs .get ('image_id' , '' )
69
- if _re_hex_image_id .match (image_id ):
70
- return f (* args , ** kwargs )
71
- return toolkit .api_error ("Invalid image ID" , 404 )
72
- return wrapper
73
-
74
-
75
63
def _get_image_layer (image_id , headers = None , bytes_range = None ):
76
64
if headers is None :
77
65
headers = {}
@@ -184,7 +172,7 @@ def _valid_bytes_range(bytes_range):
184
172
@app .route ('/v1/images/<image_id>/layer' , methods = ['GET' ])
185
173
@toolkit .requires_auth
186
174
@require_completion
187
- @valid_image_id
175
+ @toolkit . valid_image_id
188
176
@set_cache_headers
189
177
@mirroring .source_lookup (cache = True , stream = True )
190
178
def get_image_layer (image_id , headers ):
@@ -206,7 +194,7 @@ def get_image_layer(image_id, headers):
206
194
207
195
@app .route ('/v1/images/<image_id>/layer' , methods = ['PUT' ])
208
196
@toolkit .requires_auth
209
- @valid_image_id
197
+ @toolkit . valid_image_id
210
198
def put_image_layer (image_id ):
211
199
client_version = toolkit .docker_client_version ()
212
200
if client_version and client_version < (0 , 10 ):
@@ -241,7 +229,7 @@ def put_image_layer(image_id):
241
229
242
230
@app .route ('/v1/images/<image_id>/checksum' , methods = ['PUT' ])
243
231
@toolkit .requires_auth
244
- @valid_image_id
232
+ @toolkit . valid_image_id
245
233
def put_image_checksum (image_id ):
246
234
checksum = flask .request .headers .get ('X-Docker-Checksum-Payload' )
247
235
if checksum is None :
@@ -271,7 +259,7 @@ def put_image_checksum(image_id):
271
259
272
260
@app .route ('/v1/images/<image_id>/json' , methods = ['GET' ])
273
261
@toolkit .requires_auth
274
- @valid_image_id
262
+ @toolkit . valid_image_id
275
263
@require_completion
276
264
@set_cache_headers
277
265
@mirroring .source_lookup (cache = True , stream = False )
@@ -290,7 +278,7 @@ def get_image_json(image_id, headers):
290
278
291
279
@app .route ('/v1/images/<image_id>/ancestry' , methods = ['GET' ])
292
280
@toolkit .requires_auth
293
- @valid_image_id
281
+ @toolkit . valid_image_id
294
282
@require_completion
295
283
@set_cache_headers
296
284
@mirroring .source_lookup (cache = True , stream = False )
@@ -342,7 +330,7 @@ def load_checksums(image_id):
342
330
343
331
@app .route ('/v1/images/<image_id>/json' , methods = ['PUT' ])
344
332
@toolkit .requires_auth
345
- @valid_image_id
333
+ @toolkit . valid_image_id
346
334
def put_image_json (image_id ):
347
335
data = None
348
336
try :
@@ -390,7 +378,7 @@ def put_image_json(image_id):
390
378
391
379
@app .route ('/v1/images/<image_id>/files' , methods = ['GET' ])
392
380
@toolkit .requires_auth
393
- @valid_image_id
381
+ @toolkit . valid_image_id
394
382
@require_completion
395
383
@set_cache_headers
396
384
def get_image_files (image_id , headers ):
@@ -411,7 +399,7 @@ def get_image_files(image_id, headers):
411
399
412
400
@app .route ('/v1/images/<image_id>/diff' , methods = ['GET' ])
413
401
@toolkit .requires_auth
414
- @valid_image_id
402
+ @toolkit . valid_image_id
415
403
@require_completion
416
404
@set_cache_headers
417
405
def get_image_diff (image_id , headers ):
0 commit comments