src/RequestHandler.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $requestHandler = $request->getAttribute($this->handlerAttribute);

        if (empty($requestHandler)) {
            if ($this->continueOnEmpty) {
                return $handler->handle($request);
            }

            throw new RuntimeException('Empty request handler');
        }

        if (is_string($requestHandler)) {
            $requestHandler = $this->container->get($requestHandler);
        }

        if (is_array($requestHandler) && count($requestHandler) === 2 && is_string($requestHandler[0])) {
            $requestHandler[0] = $this->container->get($requestHandler[0]);
        }

        if ($requestHandler instanceof MiddlewareInterface) {
            return $requestHandler->process($request, $handler);
        }

        if ($requestHandler instanceof RequestHandlerInterface) {
            return $requestHandler->handle($request);
        }

        if (is_callable($requestHandler)) {
            return (new CallableHandler($requestHandler))->process($request, $handler);
        }

        throw new RuntimeException(sprintf('Invalid request handler: %s', gettype($requestHandler)));
    }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $requestHandler = $request->getAttribute($this->handlerAttribute);

        if (empty($requestHandler)) {
            if ($this->continueOnEmpty) {
                return $handler->handle($request);
            }

            throw new RuntimeException('Empty request handler');
        }

        if (is_string($requestHandler)) {
            $requestHandler = $this->container->get($requestHandler);
        }

        if (is_array($requestHandler) && count($requestHandler) === 2 && is_string($requestHandler[0])) {
            $requestHandler[0] = $this->container->get($requestHandler[0]);
        }

        if ($requestHandler instanceof MiddlewareInterface) {
            return $requestHandler->process($request, $handler);
        }

        if ($requestHandler instanceof RequestHandlerInterface) {
            return $requestHandler->handle($request);
        }

        if (is_callable($requestHandler)) {
            return (new CallableHandler($requestHandler))->process($request, $handler);
        }

        throw new RuntimeException(sprintf('Invalid request handler: %s', gettype($requestHandler)));
    }
public function process ( ServerRequestInterface $ request , RequestHandlerInterface $ handler ) : ResponseInterface { $ requestHandler = $ request -> getAttribute ( $ this -> handlerAttribute ) ; if ( empty ( $ requestHandler ) ) { if ( $ this -> continueOnEmpty ) { return $ handler -> handle ( $ request ) ; } throw new RuntimeException ( 'Empty request handler' ) ; } if ( is_string ( $ requestHandler ) ) { $ requestHandler = $ this -> container -> get ( $ requestHandler ) ; } if ( is_array ( $ requestHandler ) && count ( $ requestHandler ) === 2 && is_string ( $ requestHandler [ 0 ] ) ) { $ requestHandler [ 0 ] = $ this -> container -> get ( $ requestHandler [ 0 ] ) ; } if ( $ requestHandler instanceof MiddlewareInterface ) { return $ requestHandler -> process ( $ request , $ handler ) ; } if ( $ requestHandler instanceof RequestHandlerInterface ) { return $ requestHandler -> handle ( $ request ) ; } if ( is_callable ( $ requestHandler ) ) { return ( new CallableHandler ( $ requestHandler ) ) -> process ( $ request , $ handler ) ; } throw new RuntimeException ( sprintf ( 'Invalid request handler: %s' , gettype ( $ requestHandler ) ) ) ; }
Process a server request and return a response.
Process a server request and return a response .