Object

play.utils

UriEncoding

Related Doc: package utils

Permalink

object UriEncoding

Provides support for correctly encoding pieces of URIs.

Source
UriEncoding.scala
See also

http://www.ietf.org/rfc/rfc3986.txt

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UriEncoding
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def decodePath(s: String, outputCharset: Charset): String

    Permalink

    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.

  7. def decodePath(s: String, outputCharset: String): String

    Permalink

    Decode the path of a URI.

    Decode the path of a URI. Each path segment will be decoded using the same rules as decodePathSegment. 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.

    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.

  8. def decodePathSegment(s: String, outputCharset: Charset): String

    Permalink

    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.

  9. def decodePathSegment(s: String, outputCharset: String): String

    Permalink

    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 both abc and def 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 the application/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. But URLDecoder.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.

  10. def encodePathSegment(s: String, inputCharset: Charset): String

    Permalink

    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.

  11. def encodePathSegment(s: String, inputCharset: String): String

    Permalink

    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 both abc and def 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 the application/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. But URLEncoder.encode should not be used for path segment encoding. (Also note that URLEncoder.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 string s will be converted to octets (bytes) using this character encoding.

    returns

    An encoded string in the US-ASCII character set.

  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped