function it_generates_and_stores_the_identifier_if_nothing_in_storage(RequestIdentifierStorage $storage, RequestIdentifierGenerator $generator, RequestIdentifier $identifier)
 {
     $generator->generate()->willReturn($identifier);
     $storage->getRequestIdentifier()->willReturn(null);
     $storage->setRequestIdentifier($identifier)->shouldBeCalled();
     $this->get()->shouldReturn($identifier);
 }
 /**
  * @param GetResponseEvent $event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     $request = $event->getRequest();
     if (null === ($contents = $request->headers->get($this->headerName))) {
         return;
     }
     $this->storage->setRequestIdentifier(StringRequestIdentifier::fromString($contents));
 }
 /**
  * {@inheritdoc}
  */
 public function get()
 {
     if (null === ($identifier = $this->storage->getRequestIdentifier())) {
         $identifier = $this->generator->generate();
         $this->storage->setRequestIdentifier($identifier);
     }
     return $identifier;
 }
 function it_stores_the_requests_identifier_if_in_the_request_headers(HttpKernelInterface $kernel, RequestIdentifierStorage $requestIdentifierStorage)
 {
     $event = new GetResponseEvent($kernel->getWrappedObject(), Request::create('/', 'GET', [], [], [], ['HTTP_X-Request-Identifier' => '12345']), HttpKernelInterface::MASTER_REQUEST);
     $requestIdentifierStorage->setRequestIdentifier(StringRequestIdentifier::fromString('12345'))->shouldBeCalled();
     $this->onKernelRequest($event);
 }