Skip to content

Commit cb3d01b

Browse files
Merge branch '6.3' into 6.4
* 6.3: 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 226ea43 + 62020f2 commit cb3d01b

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
@@ -286,15 +286,15 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv): mixed
286286
}
287287

288288
if ('url' === $prefix) {
289-
$parsedEnv = parse_url($env);
289+
$params = parse_url($env);
290290

291-
if (false === $parsedEnv) {
291+
if (false === $params) {
292292
throw new RuntimeException(sprintf('Invalid URL in env var "%s".', $name));
293293
}
294-
if (!isset($parsedEnv['scheme'], $parsedEnv['host'])) {
294+
if (!isset($params['scheme'], $params['host'])) {
295295
throw new RuntimeException(sprintf('Invalid URL env var "%s": schema and host expected, "%s" given.', $name, $env));
296296
}
297-
$parsedEnv += [
297+
$params += [
298298
'port' => null,
299299
'user' => null,
300300
'pass' => null,
@@ -303,10 +303,13 @@ public function getEnv(string $prefix, string $name, \Closure $getEnv): mixed
303303
'fragment' => null,
304304
];
305305

306+
$params['user'] = null !== $params['user'] ? rawurldecode($params['user']) : null;
307+
$params['pass'] = null !== $params['pass'] ? rawurldecode($params['pass']) : null;
308+
306309
// remove the '/' separator
307-
$parsedEnv['path'] = '/' === ($parsedEnv['path'] ?? '/') ? '' : substr($parsedEnv['path'], 1);
310+
$params['path'] = '/' === ($params['path'] ?? '/') ? '' : substr($params['path'], 1);
308311

309-
return $parsedEnv;
312+
return $params;
310313
}
311314

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

0 commit comments

Comments
 (0)