VirtualHost

Middleware for virtual host mapping

The VirtualHost middleware allows multiple services to be mapped based on the org.http4s.headers.Host header of the org.http4s.Request.

Source:
VirtualHost.scala
class Object
trait Matchable
class Any

Type members

Classlikes

final case class HostService[F[_], G[_]](http: Http[F, G], p: Host => Boolean)

Specification of the virtual host service and predicate.

Specification of the virtual host service and predicate.

The predicate receives the the Host header information with the port filled in, if possible, using the request Uri or knowledge of the security of the underlying transport protocol.

Source:
VirtualHost.scala

Value members

Concrete methods

{ valhost:Host=h.portmatch{ caseSome(_)=> h caseNone=> { valport$1:Option[Int]=req.uri.port.orElse[Int](req.isSecure.map[Int](((_$11:Boolean)=>if(_$11)443else80))) valhost$1:String@uncheckedVariance=h.copy$default$1 h.copy(host$1,port=port$1) } } rest.+:[HostService[F,G]](first).toVector.collectFirst[F[Response[G]]](((x$1:HostService[F,G])=>(x$1:@unchecked)match{ caseHostService(s,p)ifp.apply(host)=> s.apply(req) })).getOrElse[F[Response[G]]](F.pure[Response[G]](Response.apply[G](NotFound,Response.apply$default$2[G],Response.apply$default$3[G],Response.apply$default$4[G],Response.apply$default$5[G]).withEntity[String](_root_.scala.StringContext.apply("Host\'","\'notfound.").s(host))(W))) }))))" class="documentableAnchor">
def exact[F[_], G[_]](http: Http[F, G], requestHost: String, port: Option[Int]): HostService[F, G]

Create a HostService that will match based on the exact host string (discounting case) and port, if the port is given. If the port is not given, it is ignored.

Create a HostService that will match based on the exact host string (discounting case) and port, if the port is given. If the port is not given, it is ignored.

Source:
VirtualHost.scala
def regex[F[_], G[_]](http: Http[F, G], hostRegex: String, port: Option[Int]): HostService[F, G]

Create a HostService that uses a regular expression to match the host string (which will be provided in lower case form) and port, if the port is given. If the port is not given, it is ignored.

Create a HostService that uses a regular expression to match the host string (which will be provided in lower case form) and port, if the port is given. If the port is not given, it is ignored.

Source:
VirtualHost.scala
def wildcard[F[_], G[_]](http: Http[F, G], wildcardHost: String, port: Option[Int]): HostService[F, G]

Create a HostService that will match based on the host string allowing for wildcard matching of the lowercase host string and port, if the port is given. If the port is not given, it is ignored.

Create a HostService that will match based on the host string allowing for wildcard matching of the lowercase host string and port, if the port is given. If the port is not given, it is ignored.

Source:
VirtualHost.scala