You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicecomb.apache.org by yhs0092 <yh...@163.com> on 2019/05/18 11:23:18 UTC

回复: [apache/servicecomb-java-chassis] ServerRestArgsFilter可能提前返回响应,导致后面的Filter无效 (#1201)

Sure. Here is the JIRA issue[1]


[1] https://issues.apache.org/jira/browse/SCB-1288


Yours sincerely


Yao Haishi
yhs0092@163.com


在2019年5月18日 18:57,Willem Jiang<wi...@gmail.com> 写道:
Hi HaiShi,

Could you create a JIRA to track this issue?

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Sat, May 18, 2019 at 5:24 PM yhs0092 <yh...@163.com> wrote:

Hi guys. I've checked the situation described in this issue and the problem indeed exists.
Maybe we can move the action of actual sending file body into org.apache.servicecomb.common.rest.AbstractRestInvocation#onExecuteHttpServerFiltersFinish, and in org.apache.servicecomb.common.rest.filter.inner.ServerRestArgsFilter#beforeSendResponseAsync the file body is only added into responseEx?


Yours sincerely


Yao Haishi
yhs0092@163.com



--------- 转发邮件信息 ---------

发件人: zhaoyan <no...@github.com>
发送日期: 2019年5月8日 10:51
发送至: apache/servicecomb-java-chassis <se...@noreply.github.com>
抄送人: Subscribed <su...@noreply.github.com>
主题: [apache/servicecomb-java-chassis] ServerRestArgsFilter可能提前返回响应,导致后面的Filter无效 (#1201)

问题描述:

org.apache.servicecomb.common.rest.filter.inner.ServerRestArgsFilter#beforeSendResponseAsync

当Object body = response.getResult();是Part类型的时候,导致响应提前返回,

从而后面的Filter滞后执行,而导致可能的错误。(比如增加Header的逻辑,就没有用了)

if (Part.class.isInstance(body)) {

return responseEx.sendPart((Part)body);

}



—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.