Thanks On Wed, Dec 4, 2019, 5:20 PM Mark Thomas <ma...@apache.org> wrote:
> On 04/12/2019 11:32, Kushagra Bindal wrote: > > Hi Mark, > > > > I am not saying that this is a tomcat issue, I am just asking if there > is a > > way by which we can handle this. As maybe in later version of 8.5.24 > Tomcat > > has take some action to handle such conditions. > > If you mean, is there a Tomcat setting that will not cause Tomcat to > collapse multiple "//" to a single "/", the answer is 'No'. > > Mark > > > > > > On Wed, Dec 4, 2019 at 4:53 PM Mark Thomas <ma...@apache.org> wrote: > > > >> On 04/12/2019 05:16, Kushagra Bindal wrote: > >>> Hi Mark/Manna/Chris, > >>> > >>> Do we have any way out to handle this type of behavior? > >> > >> All the evidence so far points to an application issue, not a Tomcat > issue. > >> > >> If you are able to create a simple test case that demonstrates a Tomcat > >> issue we can take a look. > >> > >> Mark > >> > >> > >>> > >>> On Tue, Dec 3, 2019 at 5:46 AM Kushagra Bindal < > >> bindal.kusha...@gmail.com> > >>> wrote: > >>> > >>>> Chris, > >>>> > >>>> If you will check in my early email then you will find that with // it > >> is > >>>> throwing 404. But as soon as I removed it manually then it starts > >> working > >>>> properly and all these url were working fine in 8.5.24 version. > >>>> > >>>> On Tue, Dec 3, 2019, 1:21 AM Christopher Schultz < > >>>> ch...@christopherschultz.net> wrote: > >>>> > >>> Kushagra, > >>> > >>> On 12/2/19 11:29, Kushagra Bindal wrote: > >>>>>>> I think it should be. > >>>>>>> > >>>>>>> <filter> > >>>>>>> <description>DanglingSessionInvalidateFilter</description> > >>>>>>> <filter-name>DanglingSessionInvalidateFilter</filter-name> > >>>>>>> <filter-class>com.SessionInvalidateFilter</filter-class> </filter> > >>>>>>> <filter-mapping> > >>>>>>> <filter-name>DanglingSessionInvalidateFilter</filter-name> > >>>>>>> <url-pattern>/restcall/*</url-pattern> </filter-mapping> > >>>>>>> > >>>>>>> Here in below URL: > >>>>>>> > >>>>>>> "http://backend_tomcat:8080/sdm/restcall/v1/platform//healthCheck" > >>>>>>> > >>>>>>> sdm will be the context path. > >>>>>>> > >>>>>>> But in another example that I shared in my last email, one use > >>>>>>> case http://backend_tomcat:8080//sdm/restcall)(.*)/file_uploads my > >>>>>>> context path itself contains //. > >>>>>>> > >>>>>>> So, please suggest a viable solution which we can try to solve > >>>>>>> this problem. :) > >>>>>>> > >>>>>>> Thanks in advance for your help & support in resolving this issue. > >>> > >>> All of these slashes really should be collapsed into a single slash > >>> before processing. I don't see an issue. If the client requests: > >>> > >>> http://backend_tomcat:8080/sdm/restcall/v1/platform//healthCheck > >>> > >>> then the filter/servlet at /sdm/restcall/* will respond. > >>> > >>> If the client requests: > >>> > >>> http://backend_tomcat:8080//sdm/restcall/foo/file_uploads > >>> > >>> Then the filter/servlet at /sdm/restcall/* will respond. > >>> > >>> It doesn't really matter how many extra slashes the client adds... > >>> they should all be collapsed by the server and your application should > >>> not have to make arrangements to handle them, add them back, or worry > >>> about whether they are there or not. > >>> > >>> -chris > >>> > >>>>>>> On Mon, Dec 2, 2019 at 9:00 PM Mark Thomas <ma...@apache.org> > >>>>>>> wrote: > >>>>>>> > >>>>>>>> On 02/12/2019 10:59, Kushagra Bindal wrote: > >>>>>>>>> Hi Mark, > >>>>>>>>> > >>>>>>>>> These are Rest Endpoints, and so will be processed through > >>>>>>>>> Filter. > >>>>>>>> > >>>>>>>> That is unusual. > >>>>>>>> > >>>>>>>>> Do, you think Servlet mapping will play any role here? > >>>>>>>> > >>>>>>>> If the filter is handling them, no. > >>>>>>>> > >>>>>>>> So I'll change the question. Which URL pattern from the filter > >>>>>>>> mapping do you expect: > >>>>>>>> > >>>>>>>> "http://backend_tomcat:8080/sdm/restcall/v1/platform//healthCheck > " > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>> to match? > >>>>>>>> > >>>>>>>> The Context Path question still needs an answer. > >>>>>>>> > >>>>>>>> Mark > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> On Mon, Dec 2, 2019 at 2:33 PM Mark Thomas <ma...@apache.org> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> On 02/12/2019 04:53, Kushagra Bindal wrote: > >>>>>>>>>>> Hi Mark, > >>>>>>>>>>> > >>>>>>>>>>> Please find the snippet from web.xml > >>>>>>>>>> > >>>>>>>>>> Which URL pattern do you expect: > >>>>>>>>>> > >>>>>>>>>> " > http://backend_tomcat:8080/sdm/restcall/v1/platform//healthCheck > >> " > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>> to match? > >>>>>>>>>> > >>>>>>>>>> And what is the Context Path at which the application is > >>>>>>>>>> deployed? > >>>>>>>>>> > >>>>>>>>>> Mark > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> <servlet> <servlet-name>default</servlet-name> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-c > >>> lass> > >>>>>>>>>>> > >>>>>>>> > >>> <init-param> > >>>>>>>>>>> <param-name>debug</param-name> > >>>>>>>>>>> <param-value>0</param-value> </init-param> <init-param> > >>>>>>>>>>> <param-name>listings</param-name> > >>>>>>>>>>> <param-value>false</param-value> </init-param> > >>>>>>>>>>> <load-on-startup>1</load-on-startup> </servlet> <servlet> > >>>>>>>>>>> <servlet-name>jsp</servlet-name> > >>>>>>>>>>> > >>>>>>>>>> > >> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> > >>>>>>>>>>> > >>>>>>>>>> > >>> <init-param> > >>>>>>>>>>> <param-name>fork</param-name> > >>>>>>>>>>> <param-value>false</param-value> </init-param> > >>>>>>>>>>> <init-param> <param-name>xpoweredBy</param-name> > >>>>>>>>>>> <param-value>false</param-value> </init-param> > >>>>>>>>>>> <load-on-startup>3</load-on-startup> </servlet> <!-- The > >>>>>>>>>>> mapping for the default servlet --> <servlet-mapping> > >>>>>>>>>>> <servlet-name>default</servlet-name> > >>>>>>>>>>> <url-pattern>/</url-pattern> </servlet-mapping> <!-- The > >>>>>>>>>>> mappings for the JSP servlet --> <servlet-mapping> > >>>>>>>>>>> <servlet-name>jsp</servlet-name> > >>>>>>>>>>> <url-pattern>*.jsp</url-pattern> > >>>>>>>>>>> <url-pattern>*.jspx</url-pattern> </servlet-mapping> > >>>>>>>>>>> <servlet> > >>>>>>>>>>> <servlet-name>PatternTemplateLaunchServlet</servlet-name> > >>>>>>>>>>> <servlet-class>PatternTemplateLaunchServlet</servlet-class> > >>>>>>>>>>> > >>>>>>>>>>> > >>> </servlet> > >>>>>>>>>>> <servlet> > >>>>>>>>>>> <servlet-name>MyReportsLaunchServlet</servlet-name> > >>>>>>>>>>> <servlet-class>MyReportsLaunchServlet</servlet-class> > >>>>>>>>>>> </servlet> <servlet-mapping> > >>>>>>>>>>> <servlet-name>PatternTemplateLaunchServlet</servlet-name> > >>>>>>>>>>> <url-pattern>/patterntemplatelaunch</url-pattern> > >>>>>>>>>>> </servlet-mapping> <servlet-mapping> > >>>>>>>>>>> <servlet-name>MyReportsLaunchServlet</servlet-name> > >>>>>>>>>>> <url-pattern>/MyReportsLaunchServlet</url-pattern> > >>>>>>>>>>> </servlet-mapping> > >>>>>>>>>>> > >>>>>>>>>>> Please let me know if you need anyother details from our > >>>>>>>>>>> side. > >>>>>>>>>>> > >>>>>>>>>>> On Mon, Dec 2, 2019 at 3:07 AM Mark Thomas > >>>>>>>>>>> <ma...@apache.org> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> On 01/12/2019 07:11, Kushagra Bindal wrote: > >>>>>>>>>>>>> Hi Manna/Mark, > >>>>>>>>>>>>> > >>>>>>>>>>>>> Below are the sample URL which we are passing to > >>>>>>>>>>>>> Tomcat. > >>>>>>>>>>>>> > >>>>>>>>>>>>> http://backend_tomcat:8080//sdm/restcall)(.*)/file_uploads > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>> http://backend_tomcat:8080/sdm/restcall/v1/platform//healthCheck > >>>>>>>>>>>>> > >>>>>>>>>>>>> As from the above example you can see that // location > >>>>>>>>>>>>> may vary case > >>>>>>>> by > >>>>>>>>>>>>> case. > >>>>>>>>>>>>> > >>>>>>>>>>>>> So, you guys have a probable solution to handle such > >>>>>>>>>>>>> situation, then > >>>>>>>>>>>> please > >>>>>>>>>>>>> do let me know. > >>>>>>>>>>>> > >>>>>>>>>>>> Tomcat is simply going to normalize those to single '/'. > >>>>>>>>>>>> The > >>>>>>>> application > >>>>>>>>>>>> should be fine with that. > >>>>>>>>>>>> > >>>>>>>>>>>> To repeat my previous request: Can you provide more > >>>>>>>>>>>> details such as: - an example request URI *and* - the > >>>>>>>>>>>> <url-pattern> for the servlet you expect it to match to > >>>>>>>>>>>> > >>>>>>>>>>>> Mark > >>>>>>>>>>>> > >>>>>>>>>>>> > >> ----------------------------------------------------------------- > >>> ---- > >>>>>>>>>>>> > >>>>>>>>>>>> > >>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > >>>>>>>>>>>> For additional commands, e-mail: > >>>>>>>>>>>> users-h...@tomcat.apache.org > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >> ------------------------------------------------------------------- > >>>>> > >>>>> --------------------------------------------------------------------- > >>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > >>>>> For additional commands, e-mail: users-h...@tomcat.apache.org > >>>>> > >>>>> > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > >> For additional commands, e-mail: users-h...@tomcat.apache.org > >> > >> > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >