Exception (410)
No message Exception thrown with message "" Stacktrace: #18 Exception in /var/www/erfcms/10.1/App/Http/Controllers/PageController.php:50 #17 App\Http\Controllers\PageController:get in /var/www/erfcms/10.1/vendor/illuminate/routing/ControllerDispatcher.php:46 #16 Illuminate\Routing\ControllerDispatcher:dispatch in /var/www/erfcms/10.1/vendor/illuminate/routing/Route.php:265 #15 Illuminate\Routing\Route:runController in /var/www/erfcms/10.1/vendor/illuminate/routing/Route.php:211 #14 Illuminate\Routing\Route:run in /var/www/erfcms/10.1/vendor/illuminate/routing/Router.php:822 #13 Illuminate\Routing\Router:{closure:Illuminate\Routing\Router::runRouteWithinStack():821} in /var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php:180 #12 Illuminate\Pipeline\Pipeline:{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178} in /var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php:137 #11 Illuminate\Pipeline\Pipeline:then in /var/www/erfcms/10.1/vendor/illuminate/routing/Router.php:821 #10 Illuminate\Routing\Router:runRouteWithinStack in /var/www/erfcms/10.1/vendor/illuminate/routing/Router.php:800 #9 Illuminate\Routing\Router:runRoute in /var/www/erfcms/10.1/vendor/illuminate/routing/Router.php:764 #8 Illuminate\Routing\Router:dispatchToRoute in /var/www/erfcms/10.1/vendor/illuminate/routing/Router.php:753 #7 Illuminate\Routing\Router:dispatch in /var/www/erfcms/10.1/App/Cms.php:162 #6 App\Cms:{closure:App\Cms::run():160} in /var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php:180 #5 Illuminate\Pipeline\Pipeline:{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178} in /var/www/erfcms/10.1/App/Http/Middleware/Canonical.php:32 #4 App\Http\Middleware\Canonical:handle in /var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php:219 #3 Illuminate\Pipeline\Pipeline:{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195} in /var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php:137 #2 Illuminate\Pipeline\Pipeline:then in /var/www/erfcms/10.1/App/Cms.php:160 #1 App\Cms:run in /home/wmzweb/htdocs/app/cms.php:101 #0 require_once in /home/wmzweb/htdocs/app/html/index.php:7
Stack frames (19)
18
Exception
/App/Http/Controllers/PageController.php:50
17
App\Http\Controllers\PageController get
/vendor/illuminate/routing/ControllerDispatcher.php:46
16
Illuminate\Routing\ControllerDispatcher dispatch
/vendor/illuminate/routing/Route.php:265
15
Illuminate\Routing\Route runController
/vendor/illuminate/routing/Route.php:211
14
Illuminate\Routing\Route run
/vendor/illuminate/routing/Router.php:822
13
Illuminate\Routing\Router {closure:Illuminate\Routing\Router::runRouteWithinStack():821}
/vendor/illuminate/pipeline/Pipeline.php:180
12
Illuminate\Pipeline\Pipeline {closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}
/vendor/illuminate/pipeline/Pipeline.php:137
11
Illuminate\Pipeline\Pipeline then
/vendor/illuminate/routing/Router.php:821
10
Illuminate\Routing\Router runRouteWithinStack
/vendor/illuminate/routing/Router.php:800
9
Illuminate\Routing\Router runRoute
/vendor/illuminate/routing/Router.php:764
8
Illuminate\Routing\Router dispatchToRoute
/vendor/illuminate/routing/Router.php:753
7
Illuminate\Routing\Router dispatch
/App/Cms.php:162
6
App\Cms {closure:App\Cms::run():160}
/vendor/illuminate/pipeline/Pipeline.php:180
5
Illuminate\Pipeline\Pipeline {closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}
/App/Http/Middleware/Canonical.php:32
4
App\Http\Middleware\Canonical handle
/vendor/illuminate/pipeline/Pipeline.php:219
3
Illuminate\Pipeline\Pipeline {closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}
/vendor/illuminate/pipeline/Pipeline.php:137
2
Illuminate\Pipeline\Pipeline then
/App/Cms.php:160
1
App\Cms run
/home/wmzweb/htdocs/app/cms.php:101
0
require_once
/home/wmzweb/htdocs/app/html/index.php:7
/var/www/erfcms/10.1/App/Http/Controllers/PageController.php
    public function __construct(
        blockMapper $blockMapper,
        Router $router
    ) {
        $this->blockMapper = $blockMapper;
        parent::__construct($router);
    }
 
    public function registerRoutes(): void
    {
        parent::registerRoutes();
        $this->router->post("{$this->prefix}{route?}", [$this::class, 'post'])->where('route', '.*');
    }
 
    public function get(string $route = ''): Response
    {
        /** @var ?Page $page */
        $page = Page::where('route', '/'.ltrim($route, '/'))->first();
        if (! $page) {
            throw new Exception('', 410);
        }
 
        if (! $page->enabled) {
            throw new Exception('', 404);
        }
 
        if ($page->redirectUrl) {
            response()->setStatusCode(301); // moved permanently
            response()->header('Location', $page->redirectUrl);
 
            return response();
        }
 
        loadTranslations($page->locale);
 
        return $this->layout->generatePage($page);
    }
 
    public function post(string $route = ''): Response
    {
Arguments
  1. ""
    
/var/www/erfcms/10.1/vendor/illuminate/routing/ControllerDispatcher.php
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveParameters($route, $controller, $method);
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Resolve the parameters for the controller.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return array
     */
    protected function resolveParameters(Route $route, $controller, $method)
    {
        return $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
    }
 
    /**
     * Get the middleware for the controller instance.
     *
Arguments
  1. "Bosch_Serie_4_SMI46HS00D-a-1010.php"
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Route.php
    /**
     * Determine if the route action is a serialized Closure.
     *
     * @return bool
     */
    protected function isSerializedClosure()
    {
        return RouteAction::containsSerializedClosure($this->action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     */
    public function getController()
    {
        if (! $this->isControllerAction()) {
            return null;
        }
 
        if (! $this->controller) {
            $class = $this->getControllerClass();
 
Arguments
  1. Illuminate\Routing\Route {#81}
    
  2. App\Http\Controllers\PageController {#89}
    
  3. "get"
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']) && ! $this->isSerializedClosure();
    }
 
    /**
     * Run the route action and return the response.
/var/www/erfcms/10.1/vendor/illuminate/routing/Router.php
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
            ->send($request)
            ->through($middleware)
            ->then(fn ($request) => $this->prepareResponse(
                $request, $route->run()
            ));
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        return $this->resolveMiddleware($route->gatherMiddleware(), $route->excludedMiddleware());
    }
 
    /**
     * Resolve a flat array of middleware classes from the provided array.
     *
     * @param  array  $middleware
     * @param  array  $excluded
     * @return array
/var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php
     * @return $this
     */
    public function finally(Closure $callback)
    {
        $this->finally = $callback;
 
        return $this;
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        try {
            return $this->withinTransaction !== false
                ? $this->getContainer()->make('db')->connection($this->withinTransaction)->transaction(fn () => $pipeline($this->passable))
                : $pipeline($this->passable);
        } finally {
            if ($this->finally) {
                ($this->finally)($this->passable);
            }
        }
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Router.php
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
            ->send($request)
            ->through($middleware)
            ->then(fn ($request) => $this->prepareResponse(
                $request, $route->run()
            ));
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        return $this->resolveMiddleware($route->gatherMiddleware(), $route->excludedMiddleware());
    }
 
    /**
     * Resolve a flat array of middleware classes from the provided array.
     *
     * @param  array  $middleware
     * @param  array  $excluded
Arguments
  1. Closure($request) {#135 …4}
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Router.php
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(fn () => $route);
 
        $this->events->dispatch(new RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
            ->send($request)
            ->through($middleware)
Arguments
  1. Illuminate\Routing\Route {#81}
    
  2. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->events->dispatch(new Routing($request));
 
        $this->current = $route = $this->routes->match($request);
 
        $route->setContainer($this->container);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Routing\Route {#81}
    
/var/www/erfcms/10.1/vendor/illuminate/routing/Router.php
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/App/Cms.php
        try {
            Menu::exists();
        } catch (Exception) {
            $install = true;
        }
 
        if ($install) {
            $this->registerInstallRoutes();
        } else {
            $this->moduleMapper->getModules(); // This initializes all Blocks.
            $this->registerRoutes();
            $this->registerPageCollections();
        }
 
        $response = $this->pipeline
            ->send($this->request)
            ->through([Canonical::class])
            ->then(function ($request) {
                try {
                    return $this->router->dispatch($request);
                } catch (NotFoundHttpException) {
                    // Catching this should not be needed. But handling non valid URLs seems broken otherwise... Testcase:
                    // (echo -e 'GET /\xdcber%20uns HTTP/1.1\r\nHost: brenner-tueren.de\r\n\r\n' ; sleep 1) | openssl s_client -connect brenner-tueren.de:443
                    throw new Exception('', 410);
                } catch (MethodNotAllowedHttpException $e) {
                    if (! headers_sent()) {
                        header('Allow: '.$e->getHeaders()['Allow']);
                    }
                    throw new Exception('', 405);
                }
            });
 
        /** @var Response $response */
        $response->send();
    }
 
    public function registerInstallRoutes(): void
    {
        $this->router->get('/', [InstallController::class, 'show']);
        $this->router->post('/', [InstallController::class, 'install']);
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php
     * @return $this
     */
    public function finally(Closure $callback)
    {
        $this->finally = $callback;
 
        return $this;
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/App/Http/Middleware/Canonical.php
    public function handle(Request $request, Closure $next): Response
    {
        $scheme = strtolower(parse_url(config()->string('app.url'), PHP_URL_SCHEME) ?: 'HTTP');
        $host = strtolower(parse_url(config()->string('app.url'), PHP_URL_HOST) ?: 'localhost');
 
        if (str_contains($request->getRequestUri(), 'index.php') ||
            $scheme !== $request->getScheme() ||
            $host !== $request->getHost()) {
            $redirectUrl = $scheme.'://'.$host.str_replace(
                'index.php',
                '',
                $request->getRequestUri()
            );
 
            response()->setStatusCode(301); // moved permanently
 
            return response()->header('Location', $redirectUrl);
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                        ? $pipe->{$this->method}(...$parameters)
                        : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, null);
 
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#88 …4}
    
/var/www/erfcms/10.1/vendor/illuminate/pipeline/Pipeline.php
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        try {
            return $this->withinTransaction !== false
                ? $this->getContainer()->make('db')->connection($this->withinTransaction)->transaction(fn () => $pipeline($this->passable))
                : $pipeline($this->passable);
        } finally {
            if ($this->finally) {
                ($this->finally)($this->passable);
            }
        }
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {#58
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
      +request: Symfony\Component\HttpFoundation\InputBag {#55}
      +query: Symfony\Component\HttpFoundation\InputBag {#50}
      +server: Symfony\Component\HttpFoundation\ServerBag {#36}
      +files: Symfony\Component\HttpFoundation\FileBag {#51}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#52}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #requestUri: "/Bosch_Serie_4_SMI46HS00D-a-1010.php"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: ? bool
      -trustedValuesCache: []
      -isIisRewrite: false
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure() {#98 …4}
      #cachedAcceptHeader: null
      basePath: ""
      format: "html"
    }
    
/var/www/erfcms/10.1/App/Cms.php
    {
        $install = false;
        try {
            Menu::exists();
        } catch (Exception) {
            $install = true;
        }
 
        if ($install) {
            $this->registerInstallRoutes();
        } else {
            $this->moduleMapper->getModules(); // This initializes all Blocks.
            $this->registerRoutes();
            $this->registerPageCollections();
        }
 
        $response = $this->pipeline
            ->send($this->request)
            ->through([Canonical::class])
            ->then(function ($request) {
                try {
                    return $this->router->dispatch($request);
                } catch (NotFoundHttpException) {
                    // Catching this should not be needed. But handling non valid URLs seems broken otherwise... Testcase:
                    // (echo -e 'GET /\xdcber%20uns HTTP/1.1\r\nHost: brenner-tueren.de\r\n\r\n' ; sleep 1) | openssl s_client -connect brenner-tueren.de:443
                    throw new Exception('', 410);
                } catch (MethodNotAllowedHttpException $e) {
                    if (! headers_sent()) {
                        header('Allow: '.$e->getHeaders()['Allow']);
                    }
                    throw new Exception('', 405);
                }
            });
 
        /** @var Response $response */
        $response->send();
    }
 
    public function registerInstallRoutes(): void
    {
Arguments
  1. Closure($request) {#85 …4}
    
/home/wmzweb/htdocs/app/cms.php
        $router->post('/brand', [MarkenCrudController::class, 'postResponse']);
 
        $router->get('/acat', [ArticleCategoryCrudController::class, 'getResponse']);
        $router->post('/acat', [ArticleCategoryCrudController::class, 'postResponse']);
 
        $router->get('/scat', [SpareCategoryCrudController::class, 'getResponse']);
        $router->post('/scat', [SpareCategoryCrudController::class, 'postResponse']);
 
        $router->get('/type', [SpareTypeCrudController::class, 'getResponse']);
        $router->post('/type', [SpareTypeCrudController::class, 'postResponse']);
 
        $router->get('/article', [ArticleCrudController::class, 'getResponse']);
        $router->post('/article', [ArticleCrudController::class, 'postResponse']);
 
        $router->get('/sparepart', [SpareCrudController::class, 'getResponse']);
        $router->post('/sparepart', [SpareCrudController::class, 'postResponse']);
    }
);
 
$cms->run();
 
/home/wmzweb/htdocs/app/html/index.php
<?php
 
declare(strict_types=1);
 
$_ENV['PUBLIC_PATH'] = __DIR__;
 
return require_once __DIR__.'/../cms.php';
 
Arguments
  1. "/home/wmzweb/htdocs/app/cms.php"
    

Environment & details:

empty
empty
empty
empty
empty
empty
empty
0. Whoops\Handler\PlainTextHandler
1. Whoops\Handler\PrettyPageHandler
2. App\Classes\ErrorHandler