Apache JMeter

org.apache.jmeter.protocol.http.util
Class ConversionUtils

java.lang.Object
  extended by org.apache.jmeter.protocol.http.util.ConversionUtils

public class ConversionUtils
extends Object

General purpose conversion utilities related to HTTP/HTML


Constructor Summary
ConversionUtils()
           
 
Method Summary
static String escapeIllegalURLCharacters(String url)
           
static String getEncodingFromContentType(String contentType)
          Extract the encoding (charset) from the Content-Type, e.g.
static URL makeRelativeURL(URL baseURL, String location)
          Generate an absolute URL from a possibly relative location, allowing for extraneous leading "../" segments.
static String removeSlashDotDot(String url)
          collapses absolute or relative URLs containing '/..' converting http://host/path1/..
static URI sanitizeUrl(URL url)
          Checks a URL and encodes it if necessary, i.e. if it is not currently correctly encoded.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConversionUtils

public ConversionUtils()
Method Detail

getEncodingFromContentType

public static String getEncodingFromContentType(String contentType)
Extract the encoding (charset) from the Content-Type, e.g. "text/html; charset=utf-8".

Parameters:
contentType -
Returns:
the charset encoding - or null, if none was found or the charset is not supported
Throws:
IllegalCharsetNameException

makeRelativeURL

public static URL makeRelativeURL(URL baseURL,
                                  String location)
                           throws MalformedURLException
Generate an absolute URL from a possibly relative location, allowing for extraneous leading "../" segments. The Java URL.URL(URL, String) constructor does not remove these.

Parameters:
baseURL - the base URL which is used to resolve missing protocol/host in the location
location - the location, possibly with extraneous leading "../"
Returns:
URL with extraneous ../ removed
Throws:
MalformedURLException
See Also:
Bug 46690 - handling of 302 redirects with invalid relative paths

escapeIllegalURLCharacters

public static String escapeIllegalURLCharacters(String url)
                                         throws Exception
Parameters:
url - String Url to escape
Returns:
String cleaned up url
Throws:
Exception

sanitizeUrl

public static final URI sanitizeUrl(URL url)
                             throws URISyntaxException
Checks a URL and encodes it if necessary, i.e. if it is not currently correctly encoded. Warning: it may not work on all unencoded URLs.

Parameters:
url - non-encoded URL
Returns:
URI which has been encoded as necessary
Throws:
URISyntaxException

removeSlashDotDot

public static String removeSlashDotDot(String url)
collapses absolute or relative URLs containing '/..' converting http://host/path1/../path2 to http://host/path2 or /one/two/../three to /one/three

Parameters:
url -
Returns:
collapsed URL
See Also:
Bug 49083 - collapse /.. in redirect URLs

Apache JMeter

Copyright © 1998-2014 Apache Software Foundation. All Rights Reserved.