spring-cloud/spring-cloud-gateway

Change HTTP method of request in-flight

Open

#539 建立於 2018年9月11日

在 GitHub 查看
 (9 留言) (1 反應) (0 負責人)Java (3,204 fork)batch import
enhancementhelp wanted

倉庫指標

Star
 (4,284 star)
PR 合併指標
 (平均合併 1天 21小時) (30 天內合併 18 個 PR)

描述

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?

貢獻者指南