Esempio n. 1
0
    def wrapped(*args, **kwargs):
        namespace_name = kwargs["namespace_name"]
        if (
            request.content_type
            and request.content_type != "application/json"
            and request.content_type
            not in DOCKER_SCHEMA1_CONTENT_TYPES | DOCKER_SCHEMA2_CONTENT_TYPES
        ):
            raise ManifestInvalid(
                detail={"message": "manifest schema version not supported"}, http_status_code=415
            )

        if registry_model.supports_schema2(namespace_name) and namespace_name not in app.config.get(
            "V22_NAMESPACE_BLACKLIST", []
        ):
            return func(*args, **kwargs)

        if (
            _doesnt_accept_schema_v1()
            or request.content_type in DOCKER_SCHEMA2_CONTENT_TYPES | OCI_CONTENT_TYPES
        ):
            raise ManifestInvalid(
                detail={"message": "manifest schema version not supported"}, http_status_code=415
            )
        return func(*args, **kwargs)
Esempio n. 2
0
    def wrapped(*args, **kwargs):
        namespace_name = kwargs['namespace_name']
        if registry_model.supports_schema2(namespace_name):
            return func(*args, **kwargs)

        if _doesnt_accept_schema_v1() or \
          request.content_type in DOCKER_SCHEMA2_CONTENT_TYPES | OCI_CONTENT_TYPES:
            raise ManifestInvalid(
                detail={'message': 'manifest schema version not supported'},
                http_status_code=415)
        return func(*args, **kwargs)