You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2010/03/22 12:37:27 UTC
[jira] Commented: (SLING-1456)
"org.apache.sling.api.include.servlet" request attribute is set as well
when RequestDispatcher#forward is called which is wrong
[ https://issues.apache.org/jira/browse/SLING-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848089#action_12848089 ]
Felix Meschberger commented on SLING-1456:
------------------------------------------
The problem is that the StreamRendererServlet inspects the "org.apache.sling.api.include.servlet" request attribute which is defined to indicate the servlet including the currently running servlet or script.
In the case of a forwarded request, this attribute is not expected to be set (exactly like the respective javax.servlet.include.* attributes) since a forward is just like a direct a request to the forward target.
The problem here is, that the RequestData.pushContent method in preparation of a call to a servlet being called from the SlingRequestDispatcher ignoring whether the content is included due to RequestDispatcher.include or RequestDispatcher.forward.
The fix is to set the request attributes properly in the SlingRequestDispatcher.include method.
> "org.apache.sling.api.include.servlet" request attribute is set as well when RequestDispatcher#forward is called which is wrong
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: SLING-1456
> URL: https://issues.apache.org/jira/browse/SLING-1456
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Reporter: Philipp Koch
> Assignee: Felix Meschberger
> Priority: Critical
>
> how to reproduce:
> forward a file resource and look at the http conversation. you will encounter that the "If-Modified-Since" header is never set because of a !included check in the StreamRendererServlet#doGet method. in consequence browser caching is not possible.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.