trait TomeStaticHelper in Tome 8
Provides helpers for the Tome Static module.
@internal
Hierarchy
- trait \Drupal\tome_static\TomeStaticHelper
3 files declare their use of TomeStaticHelper
- StaticGeneratorForm.php in modules/tome_static/ src/ Form/ StaticGeneratorForm.php 
- TomeStaticQueueWorker.php in modules/tome_static/ modules/ tome_static_cron/ src/ Plugin/ QueueWorker/ TomeStaticQueueWorker.php 
- tome_static_cron.module in modules/tome_static/ modules/ tome_static_cron/ tome_static_cron.module 
- Contains hook implementations for the tome_static_cron module.
File
- modules/tome_static/ src/ TomeStaticHelper.php, line 12 
Namespace
Drupal\tome_staticView source
trait TomeStaticHelper {
  /**
   * Sets the base URL for a given request.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The request.
   * @param string $base_url
   *   The base URL.
   *
   * @return array
   *   An array meant to be passed to ::restoreBaseUrl
   */
  public static function setBaseUrl(Request $request, $base_url) {
    $original_params = [
      'server' => $request->server
        ->all(),
      'headers' => $request->headers
        ->all(),
    ];
    $server = $request->server
      ->all();
    // Original credit to the Drush team for this logic.
    $base_url = parse_url($base_url);
    $base_url += [
      'scheme' => NULL,
      'path' => '',
      'host' => NULL,
      'port' => NULL,
    ];
    $server['HTTP_HOST'] = $base_url['host'];
    if ($base_url['scheme'] === 'https') {
      $server['HTTPS'] = 'on';
    }
    if ($base_url['port']) {
      $server['HTTP_HOST'] .= ':' . $base_url['port'];
    }
    $server['SERVER_PORT'] = $base_url['port'];
    $server['REMOTE_ADDR'] = '127.0.0.1';
    $request->server
      ->replace($server);
    $request->headers
      ->set('HOST', $base_url['host']);
    return $original_params;
  }
  /**
   * Restores the base URL for a request.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The request.
   * @param array $original_params
   *   The return value of ::setBaseUrl.
   */
  public static function restoreBaseUrl(Request $request, array $original_params) {
    $request->server
      ->replace($original_params['server']);
    $request->headers
      ->replace($original_params['headers']);
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| TomeStaticHelper:: | public static | function | Restores the base URL for a request. | |
| TomeStaticHelper:: | public static | function | Sets the base URL for a given request. | 
