prefixRoutesWithBasePath($config, $basePath); $config['middleware_pipeline'] = $this->prefixMiddlewarePathsWithBasePath($config, $basePath); $config['url_shortener']['domain']['hostname'] .= $basePath; return $config; } private function prefixRoutesWithBasePath(array $config, string $basePath): array { return map($config['routes'] ?? [], function (array $route) use ($basePath) { $route['path'] = $basePath . $route['path']; return $route; }); } private function prefixMiddlewarePathsWithBasePath(array $config, string $basePath): array { return map($config['middleware_pipeline'] ?? [], function (array $middleware) use ($basePath) { if (! isset($middleware['path'])) { return $middleware; } $middleware['path'] = $basePath . $middleware['path']; return $middleware; }); } }