42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace BookStack\Http;
 | |
| 
 | |
| use Illuminate\Http\Request as LaravelRequest;
 | |
| 
 | |
| class Request extends LaravelRequest
 | |
| {
 | |
|     /**
 | |
|      * Override the default request methods to get the scheme and host
 | |
|      * to directly use the custom APP_URL, if set.
 | |
|      */
 | |
|     public function getSchemeAndHttpHost(): string
 | |
|     {
 | |
|         $appUrl = config('app.url', null);
 | |
| 
 | |
|         if ($appUrl) {
 | |
|             return implode('/', array_slice(explode('/', $appUrl), 0, 3));
 | |
|         }
 | |
| 
 | |
|         return parent::getSchemeAndHttpHost();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Override the default request methods to get the base URL
 | |
|      * to directly use the custom APP_URL, if set.
 | |
|      * The base URL never ends with a / but should start with one if not empty.
 | |
|      */
 | |
|     public function getBaseUrl(): string
 | |
|     {
 | |
|         $appUrl = config('app.url', null);
 | |
| 
 | |
|         if ($appUrl) {
 | |
|             $parsedBaseUrl = rtrim(implode('/', array_slice(explode('/', $appUrl), 3)), '/');
 | |
| 
 | |
|             return empty($parsedBaseUrl) ? '' : ('/' . $parsedBaseUrl);
 | |
|         }
 | |
| 
 | |
|         return parent::getBaseUrl();
 | |
|     }
 | |
| }
 |