Skip to content
Snippets Groups Projects
Commit fbde8aee authored by Jenkins for Software Heritage's avatar Jenkins for Software Heritage
Browse files

Update upstream source from tag 'debian/upstream/0.17.1'

Update to upstream version '0.17.1'
with Debian dir 4692f897cbb5ea087116f1fa739ff240f978abff
parents 06850b15 0cbd2596
No related branches found
No related tags found
No related merge requests found
Metadata-Version: 2.1
Name: swh.deposit
Version: 0.17.0
Version: 0.17.1
Summary: Software Heritage Deposit Server
Home-page: https://forge.softwareheritage.org/source/swh-deposit/
Author: Software Heritage developers
......
Metadata-Version: 2.1
Name: swh.deposit
Version: 0.17.0
Version: 0.17.1
Summary: Software Heritage Deposit Server
Home-page: https://forge.softwareheritage.org/source/swh-deposit/
Author: Software Heritage developers
......
......@@ -19,6 +19,7 @@ from xml.etree import ElementTree
import iso8601
from swh.deposit.errors import FORBIDDEN, DepositError
from swh.deposit.utils import NAMESPACES, normalize_date, parse_swh_metadata_provenance
MANDATORY_FIELDS_MISSING = "Mandatory fields are missing"
......@@ -90,3 +91,16 @@ def check_metadata(metadata: ElementTree.Element) -> Tuple[bool, Optional[Dict]]
if suggested_fields: # it's fine but warn about missing suggested fields
return True, {"metadata": suggested_fields}
return True, None
def check_url_match_provider(url: str, provider_url: str) -> None:
"""Check url matches the provider url.
Raises DepositError in case of mismatch
"""
provider_url = provider_url.rstrip("/") + "/"
if not url.startswith(provider_url):
raise DepositError(
FORBIDDEN, f"URL mismatch: {url} must start with {provider_url}",
)
......@@ -24,14 +24,13 @@ from rest_framework.permissions import BasePermission, IsAuthenticated
from rest_framework.request import Request
from rest_framework.views import APIView
from swh.deposit.api.checks import check_metadata
from swh.deposit.api.checks import check_metadata, check_url_match_provider
from swh.deposit.api.converters import convert_status_detail
from swh.deposit.auth import HasDepositPermission, KeycloakBasicAuthentication
from swh.deposit.models import DEPOSIT_METADATA_ONLY, Deposit
from swh.deposit.parsers import parse_xml
from swh.deposit.utils import (
NAMESPACES,
check_url_match_provider,
compute_metadata_context,
parse_swh_metadata_provenance,
)
......
......@@ -9,7 +9,6 @@ from xml.etree import ElementTree
import iso8601
from swh.deposit.errors import FORBIDDEN, DepositError
from swh.model.exceptions import ValidationError
from swh.model.model import TimestampWithTimezone
from swh.model.swhids import ExtendedSWHID, ObjectType, QualifiedSWHID
......@@ -256,16 +255,3 @@ def to_header_link(link: str, link_name: str) -> str:
"""
return f'<{link}>; rel="{link_name}"'
def check_url_match_provider(url: str, provider_url: str) -> None:
"""Check url matches the provider url.
Raises DepositError in case of mismatch
"""
provider_url = provider_url.rstrip("/") + "/"
if not url.startswith(provider_url):
raise DepositError(
FORBIDDEN, f"URL mismatch: {url} must start with {provider_url}",
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment