CoreApi: unify config URL encoding

This commit is contained in:
Thomas Gelf 2020-03-10 00:08:43 +01:00
parent a7ea5d0b76
commit bf0653d238

View File

@ -704,7 +704,7 @@ constants
if (array_key_exists($stage, $uncollected)) { if (array_key_exists($stage, $uncollected)) {
continue; continue;
} }
$this->client()->delete('config/stages/' . $packageName . '/' . $stage); $this->client()->delete($this->prepareStageUrl($packageName, $stage));
} }
} }
@ -714,11 +714,9 @@ constants
$packageName = $this->getPackageName(); $packageName = $this->getPackageName();
} }
return array_keys( return array_keys(
$this->client()->get(\sprintf( $this->client()
'config/stages/%s/%s', ->get($this->prepareStageUrl($packageName, $stage))
\urlencode($packageName), ->getResult('name', ['type' => 'file'])
\urlencode($stage)
))->getResult('name', array('type' => 'file'))
); );
} }
@ -727,28 +725,24 @@ constants
if ($packageName === null) { if ($packageName === null) {
$packageName = $this->getPackageName(); $packageName = $this->getPackageName();
} }
return $this->client()->getRaw(\sprintf( return $this->client()
'config/files/%s/%s/%s', ->getRaw($this->prepareFileUrl($packageName, $stage, $file));
\urlencode($packageName),
\urlencode($stage),
\urlencode($file)
));
} }
public function hasPackage($name) public function hasPackage($name)
{ {
$modules = $this->getPackages(); $modules = $this->getPackages();
return array_key_exists($name, $modules); return \array_key_exists($name, $modules);
} }
public function createPackage($name) public function createPackage($name)
{ {
return $this->client()->post('config/packages/' . urlencode($name))->succeeded(); return $this->client()->post($this->preparePackageUrl($name))->succeeded();
} }
public function deletePackage($name) public function deletePackage($name)
{ {
return $this->client()->delete('config/packages/' . urlencode($name))->succeeded(); return $this->client()->delete($this->preparePackageUrl($name))->succeeded();
} }
public function assertPackageExists($name) public function assertPackageExists($name)
@ -767,11 +761,9 @@ constants
public function deleteStage($packageName, $stageName) public function deleteStage($packageName, $stageName)
{ {
$this->client()->delete(sprintf( $this->client()->delete(
'config/stages/%s/%s', $this->prepareStageUrl($packageName, $stageName)
rawurlencode($packageName), )->succeeded();
rawurlencode($stageName)
))->succeeded();
} }
/** /**
@ -833,7 +825,7 @@ constants
$this->assertPackageExists($packageName); $this->assertPackageExists($packageName);
$response = $this->client()->post('config/stages/' . urlencode($packageName), [ $response = $this->client()->post('config/stages/' . \rawurlencode($packageName), [
'files' => $config->getFileContents() 'files' => $config->getFileContents()
]); ]);
@ -883,6 +875,30 @@ constants
) . $end; ) . $end;
} }
protected function preparePackageUrl($packageName)
{
return 'config/packages/' . \rawurlencode($packageName);
}
protected function prepareStageUrl($packageName, $stage)
{
return \sprintf(
'config/stages/%s/%s',
\rawurlencode($packageName),
\rawurlencode($stage)
);
}
protected function prepareFileUrl($packageName, $stage, $file)
{
return \sprintf(
'config/files/%s/%s/%s',
\rawurlencode($packageName),
\rawurlencode($stage),
\rawurlencode($file)
);
}
protected function client() protected function client()
{ {
if ($this->initialized === false) { if ($this->initialized === false) {