Changeset View
Changeset View
Standalone View
Standalone View
swh/web/save_origin_webhooks/gitlab.py
Show All 21 Lines | def is_forge_request(self, request: Request) -> bool: | ||||
return ( | return ( | ||||
request.headers.get("User-Agent", "").startswith(f"{self.FORGE_TYPE}/") | request.headers.get("User-Agent", "").startswith(f"{self.FORGE_TYPE}/") | ||||
and "X-Gitlab-Event" in request.headers | and "X-Gitlab-Event" in request.headers | ||||
) | ) | ||||
def is_push_event(self, request: Request) -> bool: | def is_push_event(self, request: Request) -> bool: | ||||
return request.headers["X-Gitlab-Event"] == "Push Hook" | return request.headers["X-Gitlab-Event"] == "Push Hook" | ||||
def extract_repo_url_and_visit_type(self, request: Request) -> Tuple[str, str]: | def extract_repo_info(self, request: Request) -> Tuple[str, str, bool]: | ||||
return request.data.get("repository", {}).get("git_http_url", ""), "git" | repo_url = request.data.get("repository", {}).get("git_http_url", "") | ||||
# visibility_level values: 0 = private, 10 = internal, 20 = public | |||||
visibility_level = request.data.get("repository", {}).get( | |||||
"visibility_level", 20 | |||||
) | |||||
return repo_url, "git", visibility_level != 20 | |||||
api_origin_save_webhook_gitlab = GitlabOriginSaveWebhookReceiver() | api_origin_save_webhook_gitlab = GitlabOriginSaveWebhookReceiver() |