1
0
Fork 0

Fix urlencoding of gitlab dots, fixes #6064

pull/6127/head
Jordi Boggiano 2017-01-27 18:01:24 +01:00
parent 65a5727315
commit f3d0e4660d
2 changed files with 5 additions and 3 deletions

View File

@ -220,7 +220,9 @@ class GitLabDriver extends VcsDriver
$encoded = '';
for ($i = 0; isset($string[$i]); $i++) {
$character = $string[$i];
if (!ctype_alnum($character)) $character = '%' . sprintf('%02X', ord($character));
if (!ctype_alnum($character) && !in_array($character, array('-', '_'), true)) {
$character = '%' . sprintf('%02X', ord($character));
}
$encoded .= $character;
}
return $encoded;

View File

@ -290,8 +290,8 @@ JSON;
public function testGitlabSubDirectory()
{
$url = 'https://mycompany.com/gitlab/mygroup/myproject';
$apiUrl = 'https://mycompany.com/gitlab/api/v3/projects/mygroup%2Fmyproject';
$url = 'https://mycompany.com/gitlab/mygroup/my-pro.ject';
$apiUrl = 'https://mycompany.com/gitlab/api/v3/projects/mygroup%2Fmy-pro%2Eject';
$driver = new GitLabDriver(array('url' => $url), $this->io->reveal(), $this->config, $this->process->reveal(), $this->remoteFilesystem->reveal());
$driver->initialize();