object UriEncoding
Provides support for correctly encoding pieces of URIs.
- Source
- UriEncoding.scala
- See also
http://www.ietf.org/rfc/rfc3986.txt
- Alphabetic
- By Inheritance
- UriEncoding
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def decodePath(s: String, outputCharset: Charset): String
Decode the path of a URI.
Decode the path of a URI. Each path segment will be decoded using the same rules as
.decodePathSegment
- s
The string to decode. Must use the US-ASCII character set.
- outputCharset
The charset of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
- returns
A decoded string in the
outputCharset
character set.
- Exceptions thrown
play.utils.InvalidUriEncodingException
If the input is not a valid encoded path.
- def decodePath(s: String, outputCharset: String): String
Decode the path of a URI.
Decode the path of a URI. Each path segment will be decoded using the same rules as
. No normalization is performed: leading, trailing and duplicated slashes, if present are left as they are and if absent remain absent; dot-segments (".." and ".") are ignored.decodePathSegment
Encoded slash characters are will appear as slashes in the output, thus "a/b" will be indistinguishable from "a%2Fb".
- s
The string to decode. Must use the US-ASCII character set.
- outputCharset
The name of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
- returns
A decoded string in the
outputCharset
character set.
- Exceptions thrown
play.utils.InvalidUriEncodingException
If the input is not a valid encoded path.
- def decodePathSegment(s: String, outputCharset: Charset): String
Decode a string according to the rules for the "path segment" part of a URI.
Decode a string according to the rules for the "path segment" part of a URI.
- s
The string to decode. Must use the US-ASCII character set.
- outputCharset
The charset of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
- returns
A decoded string in the
outputCharset
character set.
- Exceptions thrown
play.utils.InvalidUriEncodingException
If the input is not a valid encoded path segment.
- def decodePathSegment(s: String, outputCharset: String): String
Decode a string according to the rules for the "path segment" part of a URI.
Decode a string according to the rules for the "path segment" part of a URI. A path segment is defined in RFC 3986. In a URI such as
http://www.example.com/abc/def?a=1&b=2
bothabc
anddef
are path segments.Path segment encoding differs from encoding for other parts of a URI. For example, the "&" character is permitted in a path segment, but has special meaning in query parameters. On the other hand, the "/" character cannot appear in a path segment, as it is the path delimiter, so it must be encoded as "%2F". These are just two examples of the differences between path segment and query string encoding; there are other differences too.
When decoding path segments the
decodePathSegment
method should always be used in preference to the java.net.URLDecoder.decode method.URLDecoder.decode
, despite its name, actually decodes theapplication/x-www-form-urlencoded
MIME format which is the encoding used for form data in HTTP GET and POST requests. This format is suitable for inclusion in the query part of a URI. ButURLDecoder.decoder
should not be used for path segment encoding or decoding.- s
The string to decode. Must use the US-ASCII character set.
- outputCharset
The name of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
- returns
A decoded string in the
outputCharset
character set.
- Exceptions thrown
play.utils.InvalidUriEncodingException
If the input is not a valid encoded path segment.
- def encodePathSegment(s: String, inputCharset: Charset): String
Encode a string so that it can be used safely in the "path segment" part of a URI.
Encode a string so that it can be used safely in the "path segment" part of a URI.
- s
The string to encode.
- inputCharset
The charset of the encoding that the string
s
is encoded with.- returns
An encoded string in the US-ASCII character set.
- def encodePathSegment(s: String, inputCharset: String): String
Encode a string so that it can be used safely in the "path segment" part of a URI.
Encode a string so that it can be used safely in the "path segment" part of a URI. A path segment is defined in RFC 3986. In a URI such as
http://www.example.com/abc/def?a=1&b=2
bothabc
anddef
are path segments.Path segment encoding differs from encoding for other parts of a URI. For example, the "&" character is permitted in a path segment, but has special meaning in query parameters. On the other hand, the "/" character cannot appear in a path segment, as it is the path delimiter, so it must be encoded as "%2F". These are just two examples of the differences between path segment and query string encoding; there are other differences too.
When encoding path segments the
encodePathSegment
method should always be used in preference to the java.net.URLEncoder.encode method.URLEncoder.encode
, despite its name, actually provides encoding in theapplication/x-www-form-urlencoded
MIME format which is the encoding used for form data in HTTP GET and POST requests. This encoding is suitable for inclusion in the query part of a URI. ButURLEncoder.encode
should not be used for path segment encoding. (Also note thatURLEncoder.encode
is not quite spec compliant. For example, it percent-encodes the~
character when really it should leave it as unencoded.)- s
The string to encode.
- inputCharset
The name of the encoding that the string
s
is encoded with. The strings
will be converted to octets (bytes) using this character encoding.- returns
An encoded string in the US-ASCII character set.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()