39 lines
1.0 KiB
PHP
39 lines
1.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package Grav\Common\Service
|
|
*
|
|
* @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
|
|
* @license MIT License; see LICENSE file for details.
|
|
*/
|
|
|
|
namespace Grav\Common\Service;
|
|
|
|
use Grav\Common\Uri;
|
|
use Nyholm\Psr7\Factory\Psr17Factory;
|
|
use Nyholm\Psr7Server\ServerRequestCreator;
|
|
use Pimple\Container;
|
|
use Pimple\ServiceProviderInterface;
|
|
|
|
class RequestServiceProvider implements ServiceProviderInterface
|
|
{
|
|
public function register(Container $container)
|
|
{
|
|
$container['request'] = function () {
|
|
$psr17Factory = new Psr17Factory();
|
|
$creator = new ServerRequestCreator(
|
|
$psr17Factory, // ServerRequestFactory
|
|
$psr17Factory, // UriFactory
|
|
$psr17Factory, // UploadedFileFactory
|
|
$psr17Factory // StreamFactory
|
|
);
|
|
|
|
return $creator->fromGlobals();
|
|
};
|
|
|
|
$container['route'] = $container->factory(function() {
|
|
return clone Uri::getCurrentRoute();
|
|
});
|
|
}
|
|
}
|