Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
TemplateUrls
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
3 / 3
6
100.00% covered (success)
100.00%
1 / 1
 resolveIncludeUrl
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 resolveBaseUrl
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 resolve
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
4
1<?php
2
3namespace BO\Slim\Helper;
4
5use BO\Slim\Request;
6
7class TemplateUrls
8{
9    public static function resolveIncludeUrl(?Request $request = null): string
10    {
11        return self::resolve($request, true);
12    }
13
14    public static function resolveBaseUrl(?Request $request = null): string
15    {
16        return self::resolve($request, false);
17    }
18
19    private static function resolve(?Request $request, bool $withUri): string
20    {
21        if (null !== \App::$includeUrl) {
22            return \App::$includeUrl;
23        }
24
25        if (null === $request) {
26            return '/';
27        }
28
29        $uri = (string) $request->getBasePath();
30        if ($withUri) {
31            $uri = $request->getBaseUrl();
32            $uri = preg_replace('#^https?://[^/]+#', '', $uri);
33        }
34
35        return \BO\Slim\Helper::proxySanitizeUri($uri);
36    }
37}