Fix gitlab data connector for self-hosted instances () ()

* Fix gitlab data connector for self-hosted instances ()

* Linting fix.
This commit is contained in:
Blazej Owczarczyk 2024-09-18 23:12:15 +02:00 committed by GitHub
parent fb191d8ba7
commit b25298c04a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -44,16 +44,16 @@ class GitLabRepoLoader {
#validGitlabUrl() {
const UrlPattern = require("url-pattern");
const validPatterns = [
new UrlPattern("https\\://gitlab.com/(:projectId(*))", {
segmentValueCharset: "a-zA-Z0-9-._~%/+",
new UrlPattern("https\\://gitlab.com/(:author*)/(:project(*))", {
segmentValueCharset: "a-zA-Z0-9-._~%+",
}),
// This should even match the regular hosted URL, but we may want to know
// if this was a hosted GitLab (above) or a self-hosted (below) instance
// since the API interface could be different.
new UrlPattern(
"(:protocol(http|https))\\://(:hostname*)/(:projectId(*))",
"(:protocol(http|https))\\://(:hostname*)/(:author*)/(:project(*))",
{
segmentValueCharset: "a-zA-Z0-9-._~%/+",
segmentValueCharset: "a-zA-Z0-9-._~%+",
}
),
];
@ -64,9 +64,9 @@ class GitLabRepoLoader {
match = pattern.match(this.repo);
}
if (!match) return false;
const [author, project] = match.projectId.split("/");
const { author, project } = match;
this.projectId = encodeURIComponent(match.projectId);
this.projectId = encodeURIComponent(`${author}/${project}`);
this.apiBase = new URL(this.repo).origin;
this.author = author;
this.project = project;