You are here

public function VclHandler::prepareSingleVcl in Fastly 8.3

Prepares request for Single VCL.

Parameters

array $single_vcl_data: Single VCL data.

string $prefix: Prefix.

Return value

array|bool Request data for single VCL, FALSE otherwise.

3 calls to VclHandler::prepareSingleVcl()
VclHandler::setImageOptimization in src/VclHandler.php
Set image optimization.
VclHandler::uploadEdgeModule in src/VclHandler.php
Uploads Edge module to fastly.
VclHandler::uploadMaintenancePage in src/VclHandler.php
Upload maintenance page.

File

src/VclHandler.php, line 334

Class

VclHandler
Class to control the VCL handling.

Namespace

Drupal\fastly

Code

public function prepareSingleVcl(array $single_vcl_data, $prefix = "drupalmodule") {
  if (!empty($single_vcl_data['type'])) {
    $single_vcl_data['name'] = $single_vcl_data['name'] ? $single_vcl_data['name'] : $prefix . '_' . $single_vcl_data['type'];
    $single_vcl_data['dynamic'] = 0;
    $single_vcl_data['priority'] = isset($single_vcl_data['priority']) ? $single_vcl_data['priority'] : 50;
    if (isset($single_vcl_data['vcl_dir']) && file_exists($single_vcl_data['vcl_dir'] . '/' . $single_vcl_data['type'] . '.vcl')) {
      $single_vcl_data['content'] = file_get_contents($single_vcl_data['vcl_dir'] . '/' . $single_vcl_data['type'] . '.vcl');
      unset($single_vcl_data['vcl_dir']);
    }
    elseif (!$single_vcl_data['content']) {
      $message = $this
        ->t('VCL file does not exist.');
      $this
        ->addError($message);
      $this->logger
        ->info($message);
      return FALSE;
    }
    if ($this
      ->checkIfVclExists($single_vcl_data['name'])) {
      $requests[] = $this
        ->prepareUpdateVcl($single_vcl_data);
    }
    else {
      $requests[] = $this
        ->prepareInsertVcl($single_vcl_data);
    }
  }
  else {
    $message = $this
      ->t('VCL type not set.');
    $this
      ->addError($message);
    $this->logger
      ->info($message);
    return FALSE;
  }
  return $requests;
}