spring-cloud/spring-cloud-gateway

Change HTTP method of request in-flight

Open

#539 aberto em 11 de set. de 2018

Ver no GitHub
 (9 comments) (1 reaction) (0 assignees)Java (3.204 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (4.284 stars)
Métricas de merge de PR
 (Mesclagem média 1d 21h) (18 fundiu PRs em 30d)

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?

Guia do colaborador