Class ConversionUtils
- java.lang.Object
-
- org.apache.jmeter.protocol.http.util.ConversionUtils
-
public class ConversionUtils extends Object
General purpose conversion utilities related to HTTP/HTML
-
-
Constructor Summary
Constructors Constructor Description ConversionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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 '/..' convertinghttp://host/path1/..
static URI
sanitizeUrl(URL url)
Checks a URL and encodes it if necessary, i.e. if it is not currently correctly encoded.
-
-
-
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
- string from which the encoding should be extracted- Returns:
- the charset encoding - or
null
, if none was found or the charset is not supported - Throws:
IllegalCharsetNameException
- if the found charset is not supported
-
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 JavaURL(URL, String)
constructor does not remove these.- Parameters:
baseURL
- the base URL which is used to resolve missing protocol/host in the locationlocation
- the location, possibly with extraneous leading "../"- Returns:
- URL with extraneous ../ removed
- Throws:
MalformedURLException
- when the givenURL
is malformed- 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
- when givenurl
leads to a malformed URL or URI
-
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
- if parts of the url form a non valid URI
-
removeSlashDotDot
public static String removeSlashDotDot(String url)
collapses absolute or relative URLs containing '/..' convertinghttp://host/path1/../path2
tohttp://host/path2
or/one/two/../three
to/one/three
- Parameters:
url
- in which the '/..'s should be removed- Returns:
- collapsed URL
- See Also:
- Bug 49083 - collapse /.. in redirect URLs
-
-