endpoints.v1: return 405 for non-docker repos

This commit is contained in:
Jimmy Zelinskie 2017-03-22 16:53:12 -04:00 committed by Joseph Schorr
parent 48ba59d615
commit ca7a0f14d8
3 changed files with 28 additions and 28 deletions

View file

@ -85,8 +85,8 @@ def head_image_layer(namespace, repository, image_id, headers):
if permission.can() or model.repository_is_public(namespace, repository):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
logger.debug('Looking up placement locations')
locations, _ = model.placement_locations_and_path_docker_v1(namespace, repository, image_id)
@ -123,8 +123,8 @@ def get_image_layer(namespace, repository, image_id, headers):
if permission.can() or model.repository_is_public(namespace, repository):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
logger.debug('Looking up placement locations and path')
locations, path = model.placement_locations_and_path_docker_v1(namespace, repository, image_id)
@ -163,8 +163,8 @@ def put_image_layer(namespace, repository, image_id):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
logger.debug('Retrieving image')
if model.storage_exists(namespace, repository, image_id):
@ -272,8 +272,8 @@ def put_image_checksum(namespace, repository, image_id):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
# Docker Version < 0.10 (tarsum+sha):
old_checksum = request.headers.get('X-Docker-Checksum')
@ -346,8 +346,8 @@ def get_image_json(namespace, repository, image_id, headers):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
logger.debug('Looking up repo image')
v1_metadata = model.docker_v1_metadata(namespace, repository, image_id)
@ -380,8 +380,8 @@ def get_image_ancestry(namespace, repository, image_id, headers):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
ancestry_docker_ids = model.image_ancestry(namespace, repository, image_id)
if ancestry_docker_ids is None:
@ -405,8 +405,8 @@ def put_image_json(namespace, repository, image_id):
repo = model.get_repository(namespace, repository)
if repo.kind != 'image':
msg = 'This repository is for a managing resource type other than docker images.'
abort(415, message=msg, image_id=image_id)
msg = 'This repository is for managing %s resources and not container images.' % repo.kind
abort(405, message=msg, image_id=image_id)
logger.debug('Parsing image JSON')
try: