spring-cloud / spring-cloud/spring-cloud-gateway
Possible bug with spring cloud gateway
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 4.9k
- Forks
- 3.5k
- Avg merge
- 20h 57m
- Merged PRs (30d)
- 8
Description
Description: Currently, I have a service using Spring Cloud Gateway and Spring Boot WebFlux. Its global error handler captures all failed requests (including body and headers) sent to the final API and uses that data to trigger another process within the service. Previously, the service ran on Spring Cloud Gateway 4.1.x, Spring Boot WebFlux 3.3.x, and Spring Context 6.1.19, and it worked fine: when a request to the final API failed, the global error handler would capture every modification applied by Spring Cloud Gateway (for example, headers added with the AddRequestHeader filter). Now, after updating to Spring Cloud Gateway 4.2.x and Spring Boot WebFlux 3.4.x, the global error handler isn’t capturing the modified request—it only sees the original request without the Gateway’s changes. Internally, we use a filter responsible for capturing the response using ServerWebExchange and WebFilterChain and throw and exception when the response code is related to an error.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with a minimal Spring Cloud Gateway/WebFlux reproduction comparing the 4.1.x/3.3.x and 4.2.x/3.4.x combinations. Trace the global error handler's ServerWebExchange/WebFilterChain path and the AddRequestHeader filter; done means isolating whether the modified request is lost and documenting a reproducible failing case or regression location.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100