package uri
- Alphabetic
- Public
- Protected
Package Members
Type Members
- sealed trait AbsoluteOrEmptyPath extends UrlPath
This trait has two subclasses;
AbsolutePath
andEmptyPath
.This trait has two subclasses;
AbsolutePath
andEmptyPath
. This encompasses the paths allowed to be used in URLs that have an Authority. As per RFC 3986:When authority is present, the path must either be empty or begin with a slash ("/") character.
- final case class AbsolutePath(parts: Vector[String])(implicit config: UriConfig = UriConfig.default) extends AbsoluteOrEmptyPath with Product with Serializable
An AbsolutePath is a path that starts with a slash
- final case class AbsoluteUrl(scheme: String, authority: Authority, path: AbsoluteOrEmptyPath, query: QueryString, fragment: Option[String])(implicit config: UriConfig = UriConfig.default) extends UrlWithAuthority with Product with Serializable
Represents absolute URLs, for example:
http://example.com
- case class Authority(userInfo: Option[UserInfo], host: Host, port: Option[Int])(implicit config: UriConfig = UriConfig.default) extends Product with Serializable
- final case class DataUrl(mediaType: MediaType, base64: Boolean, data: Array[Byte])(implicit config: UriConfig = UriConfig.default) extends UrlWithoutAuthority with Product with Serializable
Represents URLs with the data scheme, for example:
data:text/plain;charset=UTF-8;page=21,the%20data:1234,5678
- final case class DomainName(value: String)(implicit conf: UriConfig = UriConfig.default) extends Host with PunycodeSupport with Product with Serializable
- sealed trait Host extends AnyRef
- final case class IpV4(octet1: Byte, octet2: Byte, octet3: Byte, octet4: Byte)(implicit conf: UriConfig = UriConfig.default) extends Host with Product with Serializable
- final case class IpV6(piece1: Char, piece2: Char, piece3: Char, piece4: Char, piece5: Char, piece6: Char, piece7: Char, piece8: Char)(implicit conf: UriConfig = UriConfig.default) extends Host with Product with Serializable
- case class MediaType(rawValue: Option[String], parameters: Vector[(String, String)]) extends Product with Serializable
- sealed trait Path extends Product with Serializable
- final case class ProtocolRelativeUrl(authority: Authority, path: AbsoluteOrEmptyPath, query: QueryString, fragment: Option[String])(implicit config: UriConfig = UriConfig.default) extends UrlWithAuthority with Product with Serializable
Represents protocol relative URLs, for example:
//example.com
- case class QueryString(params: Vector[(String, Option[String])])(implicit config: UriConfig = UriConfig.default) extends Product with Serializable
- final case class RelativeUrl(path: UrlPath, query: QueryString, fragment: Option[String])(implicit config: UriConfig = UriConfig.default) extends Url with Product with Serializable
Represents Relative URLs which do not contain an authority.
Represents Relative URLs which do not contain an authority. Examples include:
- Root Relative:
/index.html?a=b
- Rootless Relative:
index.html?a=b
- Rootless Relative
(with dot segment):
../index.html?a=b
- Root Relative:
- final case class RootlessPath(parts: Vector[String])(implicit config: UriConfig = UriConfig.default) extends UrlPath with Product with Serializable
- final case class ScpLikeUrl(user: Option[String], host: Host, path: UrlPath)(implicit config: UriConfig = UriConfig.default) extends UrlWithAuthority with Product with Serializable
Represents scp-like URLs, for example:
[email protected]:lemonlabsuk/scala-uri.git
Represents scp-like URLs, for example:
[email protected]:lemonlabsuk/scala-uri.git
From the
scp
manpage: [user@]host:[path] - final case class SimpleUrlWithoutAuthority(scheme: String, path: UrlPath, query: QueryString, fragment: Option[String])(implicit config: UriConfig = UriConfig.default) extends UrlWithoutAuthority with Product with Serializable
Represents URLs that do not have an authority, for example:
mailto:[email protected]
- sealed trait Uri extends Product with Serializable
Represents a URI.
Represents a URI. See RFC 3986
Can either be a URL or a URN
URLs will be one of these forms:
- Absolute:
http://example.com
- Protocol Relative:
//example.com
- Without Authority:
mailto:[email protected]
- Root Relative:
/index.html?a=b
- Rootless Relative:
index.html?a=b
- Rootless Relative
(with doc segment):
../index.html?a=b
URNs will be in the form
urn:example:example2
- Absolute:
- class UriConversionException extends UriException
- class UriException extends Exception
- sealed trait Url extends Uri
Represents a URL, which will be one of these forms:
Represents a URL, which will be one of these forms:
- Absolute:
http://example.com
- Protocol Relative:
//example.com
- Without Authority:
mailto:[email protected]
- Root Relative:
/index.html?a=b
- Rootless Relative:
index.html?a=b
- Rootless Relative
(with doc segment):
../index.html?a=b
- Absolute:
- sealed trait UrlPath extends Path
- sealed trait UrlWithAuthority extends Url
Represents absolute URLs with an authority (i.e.
Represents absolute URLs with an authority (i.e. URLs with a host), examples include:
- Absolute URL:
http://example.com
- Protocol Relative URL:
//example.com
- Absolute URL:
- sealed trait UrlWithoutAuthority extends Url
Represents URLs that do not have an authority, for example:
mailto:[email protected]
anddata:text/plain;charset=UTF-8;page=21,the%20data:1234,5678
- final case class Urn(path: UrnPath)(implicit config: UriConfig = UriConfig.default) extends Uri with Product with Serializable
Represents a URN.
- final case class UrnPath(nid: String, nss: String)(implicit config: UriConfig = UriConfig.default) extends Path with Product with Serializable
- case class UserInfo(user: String, password: Option[String])(implicit config: UriConfig = UriConfig.default) extends Product with Serializable
Value Members
- object AbsoluteOrEmptyPath extends Serializable
- object AbsolutePath extends Serializable
- object AbsoluteUrl extends Serializable
- object Authority extends Serializable
- object DataUrl extends Serializable
- object DomainName extends Serializable
- case object EmptyPath extends AbsoluteOrEmptyPath with Product with Serializable
- object Host
- object IpV4 extends Serializable
- object IpV6 extends Serializable
- object MediaType extends Serializable
- object Path extends Serializable
- object PathParts
- object ProtocolRelativeUrl extends Serializable
- object QueryString extends Serializable
- object RelativeUrl extends Serializable
- object RootlessPath extends Serializable
- object ScpLikeUrl extends Serializable
- object SimpleUrlWithoutAuthority extends Serializable
- object Uri extends Serializable
- object Url extends Serializable
- object UrlPath extends Serializable
- object UrlWithAuthority extends Serializable
- object UrlWithoutAuthority extends Serializable
- object Urn extends Serializable
- object UrnPath extends Serializable
- object UserInfo extends Serializable