Shoot - maybe I am missing something - that code path only gets executed
when 'redirect automatically' is unchecked and 'follow redirects' is
checked. Reading the user manual, I guess that's what one'd want...

On Thu, Apr 8, 2010 at 9:26 PM, Nikita Tovstoles <[email protected]
> wrote:

> Attached, please find a trunk patch that
> introduces ConversionUtils.removeSlashDotDot(url) method called
> from HttpSamplerBase.followRedirects(HTTPSampleResult, int) only. There's
> also a unit test.
>
> There's no switch because a) I wasn't sure where to add one b) no unit
> tests failed. If that's absolutely required and other folks have no cycles
> to add such as switch do let me know and I'll see what I can do (or I should
> say when). Otherwise, let me know if anything else's required to accept the
> patch.
>
> -nikita
>
>
>
>
> On Thu, Apr 8, 2010 at 8:39 AM, Nikita Tovstoles <
> [email protected]> wrote:
>
>> Wicket renders *relative* URLs leading with '../' in CSS, image links (and
>> possibly anchors). However, in this case the problem is with absolute URLs
>> containing '/../'. Those are created during redirects only because:
>>
>>    - wicket issues a redirect to a *relative* url starting with '../'
>>    - Tomcat, before writing out a response, rewrites the URL as absolute
>>    - w/o collapsing the path. See encodeRedirectURL here:
>>    http://kickjava.com/src/org/apache/catalina/connector/Response.java.htm
>>
>> I'll take a stab at collapsing the URL
>> in HttpSamplerBase.followRedirects(HTTPSampleResult, int)
>>
>> -nikita
>>
>>
>> On Wed, Apr 7, 2010 at 10:53 AM, sebb <[email protected]> wrote:
>>
>>> On 07/04/2010, Nikita Tovstoles <[email protected]> wrote:
>>> > Hello,
>>> >
>>> >  I need JMeter to rewrite absolute URLs containing '/../'  For example,
>>> major
>>> >  browsers & wget, given:
>>> >
>>> >  http://www.google.com/products/ . . / products
>>> >  (spaces added to avoid SPAM filtering)
>>> >
>>> >  will actually send HTTP GET for
>>> >
>>> >  http://www.google.com/products/
>>> >
>>> >  JMeter 2.3.4 appears to send the initial URL verbatim, which results
>>> in a
>>> >  404 if pointed against a vanilla Tomcat.
>>> >
>>> >  We're using Wicket and URLs similar to the above are very common
>>> (Wicket
>>> >  issues redirects like the above). I saw discussions from a couple of
>>> months
>>> >  ago wrt whose responsibility it is to normalize the URL and read the
>>> RFC. I
>>> >  understand positions on either side, but, unfortunately, do really
>>> need to
>>> >  load test our app asap ;-
>>> >
>>> >  So, I am happy to fork JMeter locally, if needed. If the above indeed
>>> >  requires a code change in JMeter (or HttpClient?) could someone please
>>> >  respond with a hint as to where specifically I should look in src?
>>>
>>> The method is
>>>
>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(URL u,
>>> String method, boolean areFollowingRedirect, int depth)
>>>
>>> This is abstract, and is overridden by various samplers, including:
>>>
>>> org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(URL url,
>>> String method, boolean areFollowingRedirect, int frameDepth)
>>>
>>> org.apache.jmeter.protocol.http.sampler.HTTPSampler2.sample(URL url,
>>> String method, boolean areFollowingRedirect, int frameDepth)
>>>
>>> However, if you want to just fix redirects, this could be done in
>>>
>>> HttpSamplerBase.followRedirects(HTTPSampleResult, int)
>>>
>>> Note that JMeter 2.3.4 already allows for relative links starting with
>>> ../
>>> See https://issues.apache.org/bugzilla/show_bug.cgi?id=46690.
>>>
>>> JMeter could be enhanced to allow such URL fixing as an option.
>>> Changing it unconditionally could break some test scripts.
>>>
>>> BTW, are these dotty URLs used anywhere apart from redirects?
>>>
>>> >  thanks
>>> >
>>> >  -nikita
>>> >
>>> >  ---------------------------------------------------------------------
>>> >  To unsubscribe, e-mail: [email protected]
>>> >  For additional commands, e-mail: [email protected]
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>
>

Reply via email to