Skip to content

Commit 62020f2

Browse files
Merge branch '5.4' into 6.3
* 5.4: append instead of replacing potentially non-existent named-arguments [Validator] added missing Polish translation add translations for the MacAddress constraint remove invalid changelog entry Added missing Serbian (sr_Latn) translations [Cache][DependencyInjection][Lock][Mailer][Messenger][Notifier][Translation] Url decode username and passwords from `parse_url()` results [Security] added missing Albanian translations [Validator] Add missing Hungarian translation [Serializer] Fix using deserialization path [Validator] Add missing hr translation
2 parents 891c195 + 585ad66 commit 62020f2

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

EnvVarProcessor.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -274,15 +274,15 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv): mixed
274274
}
275275

276276
if ('url' === $prefix) {
277-
$parsedEnv = parse_url($env);
277+
$params = parse_url($env);
278278

279-
if (false === $parsedEnv) {
279+
if (false === $params) {
280280
throw new RuntimeException(sprintf('Invalid URL in env var "%s".', $name));
281281
}
282-
if (!isset($parsedEnv['scheme'], $parsedEnv['host'])) {
282+
if (!isset($params['scheme'], $params['host'])) {
283283
throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, "%s" given.', $name, $env));
284284
}
285-
$parsedEnv += [
285+
$params += [
286286
'port' => null,
287287
'user' => null,
288288
'pass' => null,
@@ -291,10 +291,13 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv): mixed
291291
'fragment' => null,
292292
];
293293

294+
$params['user'] = null !== $params['user'] ? rawurldecode($params['user']) : null;
295+
$params['pass'] = null !== $params['pass'] ? rawurldecode($params['pass']) : null;
296+
294297
// remove the '/' separator
295-
$parsedEnv['path'] = '/' === ($parsedEnv['path'] ?? '/') ? '' : substr($parsedEnv['path'], 1);
298+
$params['path'] = '/' === ($params['path'] ?? '/') ? '' : substr($params['path'], 1);
296299

297-
return $parsedEnv;
300+
return $params;
298301
}
299302

300303
if ('query_string' === $prefix) {

0 commit comments

Comments
 (0)