final case class Uri(scheme: Option[Scheme] = None, authority: Option[Authority] = None, path: Path = Uri.Path.empty, query: Query = Query.empty, fragment: Option[Fragment] = None) extends QueryOps with Renderable with Product with Serializable
Representation of the Request URI
- scheme
optional Uri Scheme. eg, http, https
- authority
optional Uri Authority. eg, localhost:8080, www.foo.bar
- path
url-encoded string representation of the path component of the Uri.
- query
optional Query. url-encoded.
- fragment
optional Uri Fragment. url-encoded.
- Source
- Uri.scala
- Alphabetic
- By Inheritance
- Uri
- Serializable
- Product
- Equals
- Renderable
- QueryOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Uri(scheme: Option[Scheme] = None, authority: Option[Authority] = None, path: Path = Uri.Path.empty, query: Query = Query.empty, fragment: Option[Fragment] = None)
- scheme
optional Uri Scheme. eg, http, https
- authority
optional Uri Authority. eg, localhost:8080, www.foo.bar
- path
url-encoded string representation of the path component of the Uri.
- query
optional Query. url-encoded.
- fragment
optional Uri Fragment. url-encoded.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +*?[T](values: Seq[T])(implicit arg0: QueryParam[T], arg1: QueryParamEncoder[T]): Self
alias for withQueryParam
alias for withQueryParam
- Definition Classes
- QueryOps
- def +*?[T](value: T)(implicit arg0: QueryParamKeyLike[T], arg1: QueryParamEncoder[T]): Self
alias for withQueryParam
alias for withQueryParam
- Definition Classes
- QueryOps
- def ++?[K, T](param: (K, Seq[T]))(implicit arg0: QueryParamKeyLike[K], arg1: QueryParamEncoder[T]): Self
alias for withQueryParam
alias for withQueryParam
scala> import org.http4s.implicits._ scala> uri"www.scala.com".++?("key" -> List("value1", "value2", "value3")) res1: Uri = www.scala.com?key=value1&key=value2&key=value3
- Definition Classes
- QueryOps
- def +?[K](name: K)(implicit arg0: QueryParamKeyLike[K]): Self
alias for withQueryParam
alias for withQueryParam
- Definition Classes
- QueryOps
- def +?[K, T](param: (K, T))(implicit arg0: QueryParamKeyLike[K], arg1: QueryParamEncoder[T]): Self
alias for withQueryParam
alias for withQueryParam
- Definition Classes
- QueryOps
- def +?[T](implicit arg0: QueryParam[T]): Self
alias for withQueryParam
alias for withQueryParam
- Definition Classes
- QueryOps
- def +??[T](value: Option[T])(implicit arg0: QueryParam[T], arg1: QueryParamEncoder[T]): Self
alias for withOptionQueryParam
alias for withOptionQueryParam
- Definition Classes
- QueryOps
- def +??[K, T](param: (K, Option[T]))(implicit arg0: QueryParamKeyLike[K], arg1: QueryParamEncoder[T]): Self
alias for withOptionQueryParam
alias for withOptionQueryParam
- Definition Classes
- QueryOps
- def -?[K](key: K)(implicit arg0: QueryParamKeyLike[K]): Self
alias for removeQueryParam
alias for removeQueryParam
- Definition Classes
- QueryOps
- def -?[T](implicit key: QueryParam[T]): Self
alias for removeQueryParam
alias for removeQueryParam
- Definition Classes
- QueryOps
- def /[A](newSegment: A)(implicit arg0: SegmentEncoder[A]): Uri
This is an alias to addSegment[*]
- def /(newSegment: String): Uri
This is an alias to addSegment(*
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def =?[T](q: Map[String, List[T]])(implicit arg0: QueryParamEncoder[T]): Self
alias for setQueryParams
alias for setQueryParams
- Definition Classes
- QueryOps
- def ?[K](name: K)(implicit arg0: QueryParamKeyLike[K]): Boolean
alias for containsQueryParam
alias for containsQueryParam
- Definition Classes
- QueryOps
- def addPath(morePath: String): Uri
Splits the path segments and adds each of them to the path url-encoded.
Splits the path segments and adds each of them to the path url-encoded. A segment is delimited by /
- morePath
the path to add
- returns
a new uri with the segments added to the path
- def addSegment[A](newSegment: A)(implicit arg0: SegmentEncoder[A]): Uri
Urlencodes and adds a path segment to the Uri
Urlencodes and adds a path segment to the Uri
- newSegment
the segment to add.
- returns
a new uri with the segment added to the path
- def addSegment(newSegment: String): Uri
Urlencodes and adds a path segment to the Uri
Urlencodes and adds a path segment to the Uri
- newSegment
the segment to add.
- returns
a new uri with the segment added to the path
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authority: Option[Authority]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def containsQueryParam[K](key: K)(implicit arg0: QueryParamKeyLike[K]): Boolean
- Definition Classes
- QueryOps
- def containsQueryParam[T](implicit key: QueryParam[T]): Boolean
Checks if a specified parameter exists in the Query.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val fragment: Option[Fragment]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def host: Option[Host]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def multiParams: Map[String, List[String]]
Representation of the query string as a map
Representation of the query string as a map
In case a parameter is available in query string but no value is there the list will be empty. If the value is empty the the list contains an empty string.
Examples
Query String Map ?param=v
Map("param" -> List("v"))
?param=
Map("param" -> List(""))
?param
Map("param" -> List())
?=value
Map("" -> List("value"))
?p1=v1&p1=v2&p2=v3&p2=v3
Map("p1" -> List("v1","v2"), "p2" -> List("v3","v4"))
The query string is lazily parsed. If an error occurs during parsing an empty
Map
is returned. - 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()
- def params: Map[String, String]
View of the head elements of the URI parameters in query string.
View of the head elements of the URI parameters in query string.
In case a parameter has no value the map returns an empty string.
- See also
multiParams
- val path: Path
- def port: Option[Int]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val query: Query
- def removeQueryParam[K](key: K)(implicit arg0: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
without the specified parameter in query.Creates maybe a new
Self
without the specified parameter in query. If no parameter with the givenkey
exists thenthis
will be returned.- Definition Classes
- QueryOps
- def render(writer: Writer): writer.type
Base method for rendering this object efficiently
Base method for rendering this object efficiently
- Definition Classes
- Uri → Renderable
- lazy val renderString: String
Generates a String rendering of this object
Generates a String rendering of this object
- Definition Classes
- Uri → Renderable
- def replaceQuery(query: Query): Self
- def resolve(relative: Uri): Uri
- val scheme: Option[Scheme]
- def self: Self
- def setQueryParams[K, T](params: Map[K, Seq[T]])(implicit arg0: QueryParamKeyLike[K], arg1: QueryParamEncoder[T]): Self
Creates maybe a new
Self
with the specified parameters. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toOriginForm: Uri
Converts this request to origin-form, which is the absolute path and optional query.
Converts this request to origin-form, which is the absolute path and optional query. If the path is relative, it is assumed to be relative to the root.
- def toString(): String
- Definition Classes
- Renderable → Any
- def userInfo: Option[UserInfo]
- 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()
- def withFragment(fragment: Fragment): Uri
- def withMultiValueQueryParams[T, K](params: Map[K, Seq[T]])(implicit arg0: QueryParamEncoder[T], arg1: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
with all the specified parameters in the Query.Creates maybe a new
Self
with all the specified parameters in the Query. If any of the given parameters' keys already exists, the value(s) will be replaced. Parameters from the input map are added left-to-right, so if a parameter with a given key is specified more than once, it will be self-overwriting.- Definition Classes
- QueryOps
- def withOptionQueryParam[T](value: Option[T])(implicit arg0: QueryParam[T], arg1: QueryParamEncoder[T]): Self
Creates maybe a new
Self
with the specified parameter in the Query. - def withOptionQueryParam[T, K](key: K, value: Option[T])(implicit arg0: QueryParamEncoder[T], arg1: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
with the specified parameter in the Query. - def withPath(path: Path): Uri
- def withQueryParam[T, K](key: K, values: Seq[T])(implicit arg0: QueryParamEncoder[T], arg1: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
with the specified parameters in the Query. - def withQueryParam[T, K](key: K, value: T)(implicit arg0: QueryParamEncoder[T], arg1: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
with the specified parameter in the Query. - def withQueryParam[K](key: K)(implicit arg0: QueryParamKeyLike[K]): Self
Creates a new
Self
with the specified parameter in the Query. - def withQueryParam[T](implicit arg0: QueryParam[T]): Self
Creates a new
Self
with the specified parameter in the Query. - def withQueryParams[T, K](params: Map[K, T])(implicit arg0: QueryParamEncoder[T], arg1: QueryParamKeyLike[K]): Self
Creates maybe a new
Self
with all the specified parameters in the Query.Creates maybe a new
Self
with all the specified parameters in the Query. If any of the given parameters' keys already exists, the value(s) will be replaced. Parameters from the input map are added left-to-right, so if a parameter with a given key is specified more than once, it will be self-overwriting.- Definition Classes
- QueryOps
- def withoutFragment: Uri