Есть код, который обрабатывает запросы по slim паттерну.
Версия SLIM 4.9.0
PHP 8.1.2
<?php
declare(strict_types=1);
use Psr\Container\ContainerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use ResidenzAnDerBode\Application\Contact\Validation\CreateContactRequestValidationMiddleware;
use ResidenzAnDerBode\Http\Action\Contact\CreateContact;
use Slim\App;
/**
* @param App $app
* @param ContainerInterface $container
*/
return function (App $app, ContainerInterface $container) {
$app->post('/api/contact', CreateContact::class)
->add(CreateContactRequestValidationMiddleware::class);
$app->get('/api/holidayrentals/{icalUrl}', function (ServerRequestInterface $request, ResponseInterface $response, $args) {
$response->getBody()->write($args['icalUrl']);
return $response;
});
};
Когда в браузерную строку я ввожу
http://my-website/api/holidayrentals/helloworld
то получаю на экране
helloworld
Однако когда вместо helloworld я хочу передать url, например
https://qna.habr.com/question/new
то есть введя в браузер
http://my-website/api/holidayrentals/https://qna.habr.com/question/new
то получаю ошибку.
Мне нужно, по аналогии с
helloworld
получать на экране
https://qna.habr.com/question/new
Как это исправить?