zendframework / zend-expressive

PSR-15 middleware in minutes!
BSD 3-Clause "New" or "Revised" License
711 stars 197 forks source link

Cannot GET but available & work #487

Closed Sufir closed 7 years ago

Sufir commented 7 years ago

pipeline.php

$app->pipe(\Zend\Stratigility\Middleware\ErrorHandler::class);
$app->pipe(\Zend\Expressive\Helper\ServerUrlMiddleware::class);
$app->pipe(\App\Middleware\LogRequestsMiddleware::class);
$app->pipeRoutingMiddleware();
$app->pipe(\Zend\Expressive\Middleware\ImplicitHeadMiddleware::class);
$app->pipe(\Zend\Expressive\Middleware\ImplicitOptionsMiddleware::class);
$app->pipe(\Zend\Expressive\Helper\UrlHelperMiddleware::class);
$app->pipeDispatchMiddleware();
$app->pipe(\App\Middleware\LogResponseMiddleware::class);
$app->pipe(\Zend\Expressive\Middleware\NotFoundHandler::class);

In logs I have wrong order and wron response

[2017-05-23 15:55:26] main.INFO: Response {"GET":"http://mts_b2b.local/b2b/gui/wsdl/","response":"Cannot GET http://mts_b2b.local/b2b/gui/wsdl/","headers":[]} []
[2017-05-23 15:55:27] main.INFO: Request {"GET":"http://mts_b2b.local/b2b/gui/wsdl/","request":"","headers":{"host":["mts_b2b.local"],"connection":["keep-alive"],"cache-control":["max-age=0"],"upgrade-insecure-requests":["1"],"user-agent":["Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36 OPR/45.0.2552.812"],"accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"],"accept-encoding":["gzip, deflate, sdch"],"accept-language":["ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"]}} []

In log "Cannot GET http://mts_b2b.local/b2b/gui/wsdl/" but real output correct.

My action:

public function process(ServerRequestInterface $request, DelegateInterface $delegate)
    {
        $delegate->process($request);

        // some generation result

        return new MyResponse($result);
    }

How can I build right execution sequence and why I have "Cannot GET http://mts_b2b.local/b2b/gui/wsdl/" but path available and work?

My routes:

$app->get('/b2b/gui/wsdl/', \App\Action\WsdlGuiAction::class, 'soap.gui.wsdl');
$app->post('/b2b/gui/', \App\Action\SoapGuiAction::class, 'soap.gui');
weierophinney commented 7 years ago

How did you resolve the issue?

nullwriter commented 6 years ago

So, how did you resolve this?