diff --git a/src/Messenger/Middleware/BaggageSchemaMiddleware.php b/src/Messenger/Middleware/BaggageSchemaMiddleware.php index 77c77f1..9a7eef6 100644 --- a/src/Messenger/Middleware/BaggageSchemaMiddleware.php +++ b/src/Messenger/Middleware/BaggageSchemaMiddleware.php @@ -29,19 +29,19 @@ public function handle(Envelope $envelope, StackInterface $stack): Envelope ->setBaggage($this->baggageCodec->decode($stamp->baggage)); $result = $stack->next()->handle($envelope, $stack); + } else { + $schema = $this->baggageSchemaResolver->getSchema(); + $baggage = $this->baggageCodec->encode($this->baggageSchemaResolver->getBaggage() ?? []); - $this->baggageSchemaResolver->reset(); + if ($schema !== null && $schema !== '') { + $envelope = $envelope->with(new BaggageSchemaStamp($schema, $baggage)); + } - return $result; + $result = $stack->next()->handle($envelope, $stack); } - $schema = $this->baggageSchemaResolver->getSchema(); - $baggage = $this->baggageCodec->encode($this->baggageSchemaResolver->getBaggage() ?? []); - - if ($schema !== null && $schema !== '') { - $envelope = $envelope->with(new BaggageSchemaStamp($schema, $baggage)); - } + $this->baggageSchemaResolver->reset(); - return $stack->next()->handle($envelope, $stack); + return $result; } }