src/HttpCache/EventListener/AddTagsListener.php
public function onKernelResponse(FilterResponseEvent $event): void
    {
        $request = $event->getRequest();
        $response = $event->getResponse();

        if (
            !$request->isMethodCacheable()
            || !$response->isCacheable()
            || (!$attributes = RequestAttributesExtractor::extractAttributes($request))
        ) {
            return;
        }

        $resources = $request->attributes->get('_resources');
        if (isset($attributes['collection_operation_name']) || ($attributes['subresource_context']['collection'] ?? false)) {
            // Allows to purge collections
            $iri = $this->iriConverter->getIriFromResourceClass($attributes['resource_class']);
            $resources[$iri] = $iri;
        }

        if (!$resources) {
            return;
        }

        $response->headers->set('Cache-Tags', implode(',', $resources));
    }
public function onKernelResponse(FilterResponseEvent $event): void
    {
        $request = $event->getRequest();
        $response = $event->getResponse();

        if (
            !$request->isMethodCacheable()
            || !$response->isCacheable()
            || (!$attributes = RequestAttributesExtractor::extractAttributes($request))
        ) {
            return;
        }

        $resources = $request->attributes->get('_resources');
        if (isset($attributes['collection_operation_name']) || ($attributes['subresource_context']['collection'] ?? false)) {
            // Allows to purge collections
            $iri = $this->iriConverter->getIriFromResourceClass($attributes['resource_class']);
            $resources[$iri] = $iri;
        }

        if (!$resources) {
            return;
        }

        $response->headers->set('Cache-Tags', implode(',', $resources));
    }
public function onKernelResponse ( FilterResponseEvent $ event ) : void { $ request = $ event -> getRequest ( ) ; $ response = $ event -> getResponse ( ) ; if ( ! $ request -> isMethodCacheable ( ) || ! $ response -> isCacheable ( ) || ( ! $ attributes = RequestAttributesExtractor :: extractAttributes ( $ request ) ) ) { return ; } $ resources = $ request -> attributes -> get ( '_resources' ) ; if ( isset ( $ attributes [ 'collection_operation_name' ] ) || ( $ attributes [ 'subresource_context' ] [ 'collection' ] ?? false ) ) { // Allows to purge collections $ iri = $ this -> iriConverter -> getIriFromResourceClass ( $ attributes [ 'resource_class' ] ) ; $ resources [ $ iri ] = $ iri ; } if ( ! $ resources ) { return ; } $ response -> headers -> set ( 'Cache-Tags' , implode ( ',' , $ resources ) ) ; }
Adds the "Cache-Tags" header.
Adds the Cache - Tags header .