如果条件不满足,则“短路”YARP RequestTransform 并返回自定义响应

Posted

技术标签:

【中文标题】如果条件不满足,则“短路”YARP RequestTransform 并返回自定义响应【英文标题】:"Short-circuit" YARP RequestTransform if condition is not met and return custom response 【发布时间】:2021-12-06 03:49:32 【问题描述】:

如果在请求转换中不满足特定条件,我无法弄清楚如何提前停止 YARP 请求并返回自定义响应。

builderContext.AddRequestTransform(async transformContext =>

        [...]

        if (!condition)
        
                // TODO: stop request and return response
        

        [...]
);

我尝试像对中间件所做的那样简单地将 transformContext.HttpContext.Response.Status 设置为非成功状态代码,但这似乎不起作用,而且我无法找到解决此问题的其他方法.

【问题讨论】:

【参考方案1】:

也许您应该使用中间件。如果您查看文档,您可以使用中间件进行拦截。

https://microsoft.github.io/reverse-proxy/articles/middleware.html#adding-middleware

如果您在next() 之前返回,则不会调用代理。

【讨论】:

以上是关于如果条件不满足,则“短路”YARP RequestTransform 并返回自定义响应的主要内容,如果未能解决你的问题,请参考以下文章

MySQL存储过程——一一检查是不是满足某些条件;如果不满足,则退出程序并返回特定消息

Oracle PL/SQL - 如果不满足条件,则退出开始结束块

mysql如果条件满足则执行join否则不

SQL 语句 join where 如果一个条件不满足,则执行另一个条件

编写期望 Promise 但如果不满足条件则不返回任何内容的打字稿方法的正确方法是啥?

如果不满足条件,则停止前进到下一页