spring-cloud/spring-cloud-gateway

Change HTTP method of request in-flight

Open

#539 ouverte le 11 sept. 2018

Voir sur GitHub
 (9 commentaires) (1 réaction) (0 assignés)Java (3 204 forks)batch import
enhancementhelp wanted

Métriques du dépôt

Stars
 (4 284 stars)
Métriques de merge PR
 (Merge moyen 1j 21h) (18 PRs mergées en 30 j)

Description

I have a use-case for redirecting POST requests to /login to a static resource (the inescapable HTML Form of Doom) served by the gateway itself.

In the gateway, the best way I found to serve static resources is using the spring.webflux.static-path-pattern and spring.resources.static-locations properties, which delegate to the underpinning WebFlux framework. However, this will be able to serve only GET requests (besides HEAD and OPTIONS, which as expected return no content), while all other methods return 405.

Now, I would not say that accepting only GET is a wrong behavior for the serving of static resources. I would, however, appreciate the possibility of "normalizing" the request in the gateway before it lands on the underpinning WebFlux infrastructure, pretty much the same way we can modify a URI with org.springframework.cloud.gateway.route.builder.GatewayFilterSpec#changeRequestUri before it is forwarded to the other systems.

Any ideas?

Guide contributeur