ScpLikeUrl

final case class ScpLikeUrl(user: Option[String], host: Host, path: UrlPath)(implicit config: UriConfig) extends UrlWithAuthority

Represents scp-like URLs, for example: [email protected]:lemonlabsuk/scala-uri.git

From the scp manpage: [user@]host:[path]

Companion
object
trait Url
trait Uri
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Type members

Inherited types

Value members

Concrete methods

override def equalsUnordered(other: Uri): Boolean

For ScpLikeUrls this method is exactly the same as ==

For ScpLikeUrls this method is exactly the same as ==

Definition Classes
Url -> Uri
def fragment: Option[String]
def normalize(removeEmptyPathParts: Boolean, slashTermination: SlashTermination): Self
def schemeOption: Option[String]
override def userInfo: Option[UserInfo]
Definition Classes

Copies this Url but with the authority set as the given value.

Copies this Url but with the authority set as the given value.

Value Params
authority

the authority host to set

Returns

a new Url with the specified authority

def withFragment[T](fragment: T)(implicit evidence$28: Fragment[T]): ScpLikeUrl

Copies this Url but with the fragment set as the given value.

Copies this Url but with the fragment set as the given value.

Value Params
fragment

the new fragment to set

Returns

a new Url with the specified fragment

Copies this Url but with the path set as the given value.

Copies this Url but with the path set as the given value.

Value Params
path

the new path to set

Returns

a new Url with the specified path

Copies this Url but with the query set as the given value.

Copies this Url but with the query set as the given value.

Value Params
query

the new QueryString to set

Returns

a new Url with the specified query

def withScheme(scheme: String): AbsoluteUrl

Copies this Uri but with the scheme set as the given value.

Copies this Uri but with the scheme set as the given value.

Value Params
scheme

the new scheme to set

Returns

a new Uri with the specified scheme

Inherited methods

def addParam[K, V](k: K, v: V)(implicit evidence$9: QueryKey[K], evidence$10: QueryValue[V]): Self

Adds a new Query String parameter key-value pair.

Adds a new Query String parameter key-value pair.

Pairs with values, such as Some("value"), represent query params with values, i.e ?param=value

By default, pairs without values, i.e None, represent query params without values, i.e ?param Using a UriConfig(renderQuery = ExcludeNones), will cause pairs with None values not to be rendered

Value Params
k

value that provides a name pair for the parameter. Can be a any basic value type or a custom type if you provide a QueryKey type-class

v

value that provides a value for the parameter. Can be a any basic value type or a custom type if you provide a QueryValue type-class

Returns

A new Url with the new Query String parameter

Inherited from
Url
def addParam[A](a: A)(implicit evidence$8: QueryKeyValue[A]): Self

Adds a new Query String parameter key-value pair.

Adds a new Query String parameter key-value pair.

Pairs with values, such as Some("value"), represent query params with values, i.e ?param=value

By default, pairs without values, i.e None, represent query params without values, i.e ?param Using a UriConfig(renderQuery = ExcludeNones), will cause pairs with None values not to be rendered

Value Params
a

value that provides a name/value pair for the parameter. Can be a Tuple of any basic value types or a custom type if you provide a QueryKeyValue type-class

Returns

A new Url with the new Query String parameter

Inherited from
Url
def addParams[KV](first: KV, second: KV, params: KV*)(implicit evidence$12: QueryKeyValue[KV]): Self

Adds all the specified key-value pairs as parameters to the query

Adds all the specified key-value pairs as parameters to the query

Value Params
params

A list of key-value pairs to add as query parameters

Returns

A new Url with the new Query String parameters

Inherited from
Url
def addParams[A](params: A)(implicit evidence$11: TraversableParams[A]): Self

Adds all the specified key-value pairs as parameters to the query

Adds all the specified key-value pairs as parameters to the query

Value Params
params

A list of key-value pairs to add as query parameters

Returns

A new Url with the new Query String parameters

Inherited from
Url
def addPathPart[P](part: P)(implicit evidence$5: PathPart[P]): Self
Inherited from
Url
def addPathParts[P](first: P, second: P, parts: P*)(implicit evidence$7: PathPart[P]): Self
Inherited from
Url
def addPathParts[P](parts: P)(implicit evidence$6: TraversablePathParts[P]): Self
Inherited from
Url
def apexDomain: Option[String]

Returns the apex domain for this URL.

Returns the apex domain for this URL.

The apex domain is constructed from the public suffix for this URL's host prepended with the immediately preceding dot segment.

Examples include: example.com for www.example.com example.co.uk for www.example.co.uk

Returns

the apex domain for this URL

Inherited from
Url
Inherited from
UrlWithAuthority
def collectQuery[KV](f: PartialFunction[(String, Option[String]), KV])(implicit evidence$19: QueryKeyValue[KV]): Self

Transforms the Query String by applying the specified PartialFunction to each Query String Parameter

Transforms the Query String by applying the specified PartialFunction to each Query String Parameter

Parameters not defined in the PartialFunction will be removed.

Value Params
f

A function that returns a new Parameter when applied to each Parameter

Inherited from
Url
def filterQuery(f: (String, Option[String]) => Boolean): Self

Removes any Query String Parameters that return false when applied to the given Function

Removes any Query String Parameters that return false when applied to the given Function

Inherited from
Url
def filterQueryNames(f: String => Boolean): Self

Removes any Query String Parameters that return false when their name is applied to the given Function

Removes any Query String Parameters that return false when their name is applied to the given Function

Inherited from
Url
def filterQueryValues(f: String => Boolean): Self

Removes any Query String Parameters that return false when their value is applied to the given Function

Removes any Query String Parameters that return false when their value is applied to the given Function

Inherited from
Url
def flatMapQuery[A](f: (String, Option[String]) => A)(implicit evidence$20: TraversableParams[A]): Self

Transforms the Query String by applying the specified Function to each Query String Parameter

Transforms the Query String by applying the specified Function to each Query String Parameter

Value Params
f

A function that returns a collection of Parameters when applied to each parameter

Inherited from
Url
def hostOption: Option[Host]
Inherited from
UrlWithAuthority
def longestSubdomain: Option[String]

Returns the longest subdomain for this URL's host. E.g. for http://a.b.c.example.com returns a.b.c.example

Returns the longest subdomain for this URL's host. E.g. for http://a.b.c.example.com returns a.b.c.example

Returns

the longest subdomain for this URL's host

Inherited from
UrlWithAuthority
override def mapPassword(f: String => String): Self

Transforms this URL by applying the specified Function to the password if it exists

Transforms this URL by applying the specified Function to the password if it exists

Definition Classes
Inherited from
UrlWithAuthority
def mapQuery[KV](f: PartialFunction[(String, Option[String]), KV])(implicit evidence$18: QueryKeyValue[KV]): Self

Transforms the Query String by applying the specified PartialFunction to each Query String Parameter

Transforms the Query String by applying the specified PartialFunction to each Query String Parameter

Parameters not defined in the PartialFunction will be left as-is.

Value Params
f

A function that returns a new Parameter when applied to each Parameter

Inherited from
Url
def mapQueryNames[K](f: String => K)(implicit evidence$21: QueryKey[K]): Self

Transforms the Query String by applying the specified Function to each Query String Parameter name

Transforms the Query String by applying the specified Function to each Query String Parameter name

Value Params
f

A function that returns a new Parameter name when applied to each Parameter name

Inherited from
Url
def mapQueryValues[V](f: String => V)(implicit evidence$22: QueryValue[V]): Self

Transforms the Query String by applying the specified Function to each Query String Parameter value

Transforms the Query String by applying the specified Function to each Query String Parameter value

Value Params
f

A function that returns a new Parameter value when applied to each Parameter value

Inherited from
Url
override def mapUser(f: String => String): Self

Transforms this URL by applying the specified Function to the user if it exists

Transforms this URL by applying the specified Function to the user if it exists

Definition Classes
Inherited from
UrlWithAuthority
def password: Option[String]
Inherited from
UrlWithAuthority
def port: Option[Int]
Inherited from
UrlWithAuthority
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def publicSuffix: Option[String]

Returns the longest public suffix for the host in this URI. Examples include: com for www.example.com co.uk for www.example.co.uk

Returns the longest public suffix for the host in this URI. Examples include: com for www.example.com co.uk for www.example.co.uk

Returns

the longest public suffix for the host in this URI

Inherited from
UrlWithAuthority
def publicSuffixes: Vector[String]

Returns all longest public suffixes for the host in this URI. Examples include: com for www.example.com co.uk and uk for www.example.co.uk

Returns all longest public suffixes for the host in this URI. Examples include: com for www.example.com co.uk and uk for www.example.co.uk

Returns

all public suffixes for the host in this URI

Inherited from
UrlWithAuthority
Inherited from
Url
def removeParams[K](k: Iterable[K])(implicit evidence$17: QueryKey[K]): Self

Removes all Query String parameters with a name in the specified list

Removes all Query String parameters with a name in the specified list

Value Params
k

Names of Query String parameter(s) to remove

Inherited from
Url
def removeParams[K](first: K, second: K, rest: K*)(implicit evidence$16: QueryKey[K]): Self

Removes all Query String parameters with a name in the specified list

Removes all Query String parameters with a name in the specified list

Value Params
first

Name of a Query String parameter to remove

rest

Name of more Query String parameter(s) to remove

second

Name of another Query String parameter to remove

Inherited from
Url
def removeParams[K](k: K)(implicit evidence$15: QueryKey[K]): Self

Removes all Query String parameters with the specified key

Removes all Query String parameters with the specified key

Value Params
k

Key for the Query String parameter(s) to remove

Inherited from
Url

Removes any password from this URL

Removes any password from this URL

Returns

This URL without the password

Inherited from
UrlWithAuthority

Removes all Query String parameters

Removes all Query String parameters

Inherited from
Url

Removes any user from this URL

Removes any user from this URL

Returns

This URL without the user

Inherited from
UrlWithAuthority
def replaceParams[K, V](k: K, v: V)(implicit evidence$13: QueryKey[K], evidence$14: QueryValue[V]): Self

Replaces the all existing Query String parameters with the specified key with a single Query String parameter with the specified value.

Replaces the all existing Query String parameters with the specified key with a single Query String parameter with the specified value.

Pairs with values, such as ("param", Some("value")), represent query params with values, i.e ?param=value

By default, pairs without values, such as ("param", None), represent query params without values, i.e ?param Using a UriConfig(renderQuery = ExcludeNones), will cause pairs with None values not to be rendered

Value Params
k

Key for the Query String parameter(s) to replace

v

value to replace with

Returns

A new Uri with the result of the replace

Inherited from
Url
def resolve(base: UrlWithScheme, strict: Boolean): UrlWithScheme
Returns

this URL resolved with the given URL as the base according to section 5.2.2 Transform References of <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.

Inherited from
Url
def shortestSubdomain: Option[String]

Returns the shortest subdomain for this URL's host. E.g. for http://a.b.c.example.com returns a

Returns the shortest subdomain for this URL's host. E.g. for http://a.b.c.example.com returns a

Returns

the shortest subdomain for this URL's host

Inherited from
UrlWithAuthority
def slashTerminated(slashTermination: SlashTermination): Self
Inherited from
Url
def subdomain: Option[String]

Returns the second largest subdomain for this URL's host.

Returns the second largest subdomain for this URL's host.

E.g. for http://a.b.c.example.com returns a.b.c

Note: In the event there is only one subdomain (i.e. the host is the apex domain), this method returns None. E.g. This method will return None for http://example.com.

Returns

the second largest subdomain for this URL's host

Inherited from
UrlWithAuthority
def subdomains: Vector[String]

Returns all subdomains for this URL's host. E.g. for http://a.b.c.example.com returns a, a.b, a.b.c and a.b.c.example

Returns all subdomains for this URL's host. E.g. for http://a.b.c.example.com returns a, a.b, a.b.c and a.b.c.example

Returns

all subdomains for this URL's host

Inherited from
UrlWithAuthority
Inherited from
Url
def toJavaURI: URI

Converts to a java.net.URI

Converts to a java.net.URI

This involves a toString and URI.parse because the specific java.net.URI constructors do not deal properly with encoded elements

Returns

a java.net.URI matching this io.lemonlabs.uri.Uri

Inherited from
Uri
def toRedactedString(redactor: Redactor)(implicit conf: UriConfig): String
Inherited from
Url
Inherited from
Url
override def toString: String
Definition Classes
Uri -> Any
Inherited from
Uri
override def toStringPunycode: String
Returns

the URL as a String. If the URI has a domain name for a host, any unicode characters will be returned in ASCII Compatible Encoding (ACE), as defined by the ToASCII operation of <a href="http://www.ietf.org/rfc/rfc3490.txt">RFC 3490</a>.

Definition Classes
Inherited from
UrlWithAuthority
def toStringRaw: String

Returns the path with no encoders taking place (e.g. non ASCII characters will not be percent encoded)

Returns the path with no encoders taking place (e.g. non ASCII characters will not be percent encoded)

Returns

String containing the raw path for this Uri

Inherited from
Uri
def toUrl: Url
Inherited from
Url
def toUrn: Urn
Inherited from
Url
def withHost(host: Host): Self
Inherited from
UrlWithAuthority
def withHost(host: String): SelfWithAuthority

Copies this Url but with the host set as the given value.

Copies this Url but with the host set as the given value.

Value Params
host

the new host to set

Returns

a new Url with the specified host

Inherited from
Url
def withPassword(password: String): Self

Copies this Url but with the password set as the given value.

Copies this Url but with the password set as the given value.

Value Params
password

the new password to set

Returns

a new Url with the specified password

Inherited from
UrlWithAuthority
def withPathParts[P](parts: P)(implicit evidence$2: TraversablePathParts[P]): Self

Copies this Url but with the path set as the given value.

Copies this Url but with the path set as the given value.

Value Params
parts

the parts that make up the new path

Returns

a new Url with the specified path

Inherited from
Url
def withPort(port: Int): Self

Copies this Url but with the port set as the given value.

Copies this Url but with the port set as the given value.

Value Params
port

the new port to set

Returns

a new Url with the specified port

Inherited from
UrlWithAuthority
def withQueryString[KV](first: KV, second: KV, params: KV*)(implicit evidence$4: QueryKeyValue[KV]): Self

Replaces the all existing Query String parameters with a new set of query params

Replaces the all existing Query String parameters with a new set of query params

Inherited from
Url
def withQueryString[T](params: T)(implicit evidence$3: TraversableParams[T]): Self

Replaces the all existing Query String parameters with a new set of query params

Replaces the all existing Query String parameters with a new set of query params

Inherited from
Url
def withUser(user: String): Self

Copies this Url but with the user set as the given value.

Copies this Url but with the user set as the given value.

Value Params
user

the new user to set

Returns

a new Url with the specified user

Inherited from
UrlWithAuthority
def withUserInfo(ui: Option[UserInfo]): Self
Inherited from
UrlWithAuthority

Implicits

Implicits

implicit val config: UriConfig