Uri

object Uri extends UriPlatform
Companion:
class
trait Product
trait Mirror
class Object
trait Matchable
class Any
Uri.type

Type members

Classlikes

final case class Authority(userInfo: Option[UserInfo], host: Host, port: Option[Int]) extends Renderable
Companion:
object
object Authority
Companion:
class
object Host
Companion:
class
sealed trait Host extends Renderable
Companion:
object
final case class Ipv4Address(address: Ipv4Address) extends Host with Ordered[Ipv4Address] with Serializable
Companion:
object
Companion:
class
final case class Ipv6Address(address: Ipv6Address) extends Host with Ordered[Ipv6Address] with Serializable
Companion:
object
Companion:
class
final class Path extends Renderable
Companion:
object
object Path
Companion:
class
final case class RegName(host: CIString) extends Host
Companion:
object
object RegName
Companion:
class
final class Scheme extends Ordered[Scheme]

A org.http4s.Uri may begin with a scheme name that refers to a specification for assigning identifiers within that scheme.

A org.http4s.Uri may begin with a scheme name that refers to a specification for assigning identifiers within that scheme.

If the scheme is defined, the URI is absolute. If the scheme is not defined, the URI is a relative reference.

See also:
Companion:
object
object Scheme
Companion:
class
final case class UserInfo extends Ordered[UserInfo]

The userinfo subcomponent may consist of a user name and, optionally, scheme-specific information about how to gain authorization to access the resource. The user information, if present, is followed by a commercial at-sign ("@") that delimits it from the host.

The userinfo subcomponent may consist of a user name and, optionally, scheme-specific information about how to gain authorization to access the resource. The user information, if present, is followed by a commercial at-sign ("@") that delimits it from the host.

Value parameters:
password

The password, decoded. Passing a password in clear text in a URI is a security risk and deprecated by RFC 3986, but preserved in this model for losslessness.

username

The username component, decoded.

See also:
Companion:
object
object UserInfo
Companion:
class

Types

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def decode(toDecode: String, charset: Charset, plusIsSpace: Boolean, toSkip: Char => Boolean): String

Percent-decodes a string.

Percent-decodes a string.

Value parameters:
charset

the charset of percent-encoded characters

plusIsSpace

true if '+' is to be interpreted as a ' '

toDecode

the string to decode

toSkip

a predicate of characters whose percent-encoded form is left percent-encoded. Almost certainly should be left empty.

def encode(toEncode: String, charset: Charset, spaceIsPlus: Boolean, toSkip: Char => Boolean): String

Percent-encodes a string. Depending on the parameters, this method is appropriate for URI or URL form encoding. Any resulting percent-encodings are normalized to uppercase.

Percent-encodes a string. Depending on the parameters, this method is appropriate for URI or URL form encoding. Any resulting percent-encodings are normalized to uppercase.

Value parameters:
charset

the charset to use for characters that are percent encoded

spaceIsPlus

if space is not skipped, determines whether it will be rendreed as a "+" or a percent-encoding according to charset.

toEncode

the string to encode

toSkip

a predicate of characters exempt from encoding. In typical use, this is composed of all Unreserved URI characters and sometimes a subset of Reserved URI characters.

Decodes the String to a Uri using the RFC 3986 uri decoding specification

Decodes the String to a Uri using the RFC 3986 uri decoding specification

def pathEncode(s: String, charset: Charset): String

Remove dot sequences from a Path, per RFC 3986 Sec 5.2.4 Adapted from" https://github.com/Norconex/commons-lang/blob/c83fdeac7a60ac99c8602e0b47056ad77b08f570/norconex-commons-lang/src/main/java/com/norconex/commons/lang/url/URLNormalizer.java#L429

Decodes the String to a Uri using the RFC 7230 section 5.3 uri decoding specification

Decodes the String to a Uri using the RFC 7230 section 5.3 uri decoding specification

def resolve(base: Uri, reference: Uri): Uri

Resolve a relative Uri reference, per RFC 3986 sec 5.2

Resolve a relative Uri reference, per RFC 3986 sec 5.2

Parses a String to a Uri according to RFC 3986. If decoding fails, throws a ParseFailure.

Parses a String to a Uri according to RFC 3986. If decoding fails, throws a ParseFailure.

For totality, call fromString. For compile-time verification of literals, call uri.

Implicits

Implicits