You are here

public function VclHandler::removeEdgeModule in Fastly 8.3

Remove edge module

File

src/VclHandler.php, line 1232

Class

VclHandler
Class to control the VCL handling.

Namespace

Drupal\fastly

Code

public function removeEdgeModule($name, $version = NULL) {
  $this
    ->cloneLastActiveVersion();
  $version = is_null($version) ? $this->lastClonedVersion : $version;
  $snippets = $this
    ->getAllSnippets($version);
  foreach ($snippets as $snippet) {
    if (substr($snippet->name, 0, strlen(FastlyEdgeModulesHelper::FASTLY_EDGE_MODULE_PREFIX . $name)) === FastlyEdgeModulesHelper::FASTLY_EDGE_MODULE_PREFIX . $name) {
      $this
        ->removeSnippet($version, $snippet->name);
    }
  }
  $request = $this
    ->prepareActivateVersion();
  $response = $this
    ->vclRequestWrapper($request['url'], $request['headers'], [], $request['type']);
  if ($response
    ->getStatusCode() != "200") {
    $this->messenger
      ->addError($response
      ->getBody());
    return FALSE;
  }
  return TRUE;
}