Skip to content

Commit

Permalink
add request url resolver
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark1Z committed Jan 9, 2019
1 parent 41ec992 commit 380a219
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
/phpunit.xml
/.idea/
/.env
/composer.lock
/composer.phar
/vendor/
/.php_cs.cache
/node_modules/
/.phpunit/
/.phpunit/
51 changes: 51 additions & 0 deletions Resolvable/Resolver/RequestUrlResolver.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php

namespace SfCod\Filesystem\Resolvable\Resolver;

use SfCod\Filesystem\Resolvable\ResolverInterface;
use Symfony\Component\HttpFoundation\RequestStack;

/**
* Class RequestUrlResolver
*
* @author Virchenko Maksim <muslim1992@gmail.com>
*
* @package SfCod\Filesystem\Resolvable\Resolver
*/
class RequestUrlResolver implements ResolverInterface
{
/**
* @var RequestStack
*/
private $requestStack;

/**
* RequestUrlResolver constructor.
*
* @param string $prefix
*/
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}

/**
* Resolves an object path to an URI.
*
* @param string $path Object path
*
* @return string
*/
public function resolve(string $path): string
{
if ($this->requestStack->getCurrentRequest()) {
$request = $this->requestStack->getCurrentRequest();

$baseUrl = rtrim(str_replace($request->getRequestUri(), '', $request->getUri()), '/');
} else {
$baseUrl = '';
}

return $baseUrl . '/' . ltrim($path, '/');
}
}

0 comments on commit 380a219

Please sign in to comment.