quarkus: reactive: propagateHeaders don't work async

Describe the bug

I need to propagate header info from the server towards the RestEasy client.

In the classic environment it works fine to propagate the Authorization header included in the server request towards the RestEasy client request, even when the client request is executed async with a ManagedExecutor.

This is accomplished with adding the following to the application.properties file: org.eclipse.microprofile.rest.client.propagateHeaders=Authorization And adding the @RegisterClientHeaders to the RestEasy interface.

But if the same is attempted in the reactive world, the header is “lost”

Is there a workaround for that?

See also: https://quarkusio.zulipchat.com/#narrow/stream/187030-users/topic/reactive.3A.20propagateHeaders.20don’t.20work.20async

Expected behavior

The Authorization header should be included in the outgoing request

Actual behavior

The Authorization header is not included in the outgoing request

How to Reproduce?

Run the provided test and verify the logging. For the ok test, the Authorization can be seen, but NOT for the fail test

Output of uname -a or ver

uname -a Linux hty80028.sb1a.sparebank1.no 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 8 13:30:15 EST 2021 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

openjdk version “11.0.10” 2021-01-19 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.7.5.Final

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

rest-client-reactive-quickstart4.zip

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (15 by maintainers)

Most upvoted comments

Strange ide behaviour. Thanks for the guide, works fine with mvn, but not in my ide. But I think we joust leave it, THANKS!

So it sounds like this should be closed, correct?

I’m on it