- Value parameters:
- cacheStrategy
strategy to use for caching purposes.
- classLoader
optional classloader for extracting the resources
- preferGzipped
prefer gzip compression format?
- webjarAssetFilter
To filter which assets from the webjars should be served
- Companion:
- object
Value members
Concrete methods
:Nothing<:Any]=>OptionT[F,_$7],Request[F],Response[F]](((x$1:Request[F])=>x$1match{
caserequestifrequest.method.==(Method.GET)=>
valsegments:Vector[String]=request.pathInfo.segments.map[String](((_$2:Segment)=>_$2.decoded(_$2.decoded$default$1,plusIsSpace=true,_$2.decoded$default$3)))
catsSyntaxApplicativeError[[A>:Nothing<:Any]=>OptionT[F,A],Throwable,Response[F]](OptionT.liftF[F,Path](F.catchNonFatal[Path](segments.foldLeft[Path](Root)(((`x$1₂`:Path,x$2:String)=>Tuple2.apply[Path,String](`x$1₂`,x$2)match{
caseTuple2(_,(""|"."|".."))=>
throwBadTraversal
caseTuple2(path,segment)=>
path.resolve(segment)
})))(refl[Throwable]))(F).subflatMap[WebjarAsset](((p:Path)=>WebjarServiceBuilder.this.toWebjarAsset(p)))(F).filter(webjarAssetFilter)(F).flatMap[Response[F]](((_$3:WebjarAsset)=>serveWebjarAsset[F](cacheStrategy,classLoader,request,preferGzipped)(_$3)(F)))(F))(catsDataMonadErrorForOptionT[F,Throwable](F)).recover(((`x$1₃`:Throwable)=>(`x$1₃`:@unchecked)match{
caseBadTraversal=>
Response.apply[F](Status.BadRequest,Response.apply$default$2[F],Response.apply$default$3[F],Response.apply$default$4[F],Response.apply$default$5[F])
}))(catsDataMonadErrorForOptionT[F,Throwable](F))
case_=>
OptionT.none[F,Response[F]](F)
}))
}" class="documentableAnchor">
def :Nothing<:Any]=>OptionT[F,_$7],Request[F],Response[F]](((x$1:Request[F])=>x$1match{
caserequestifrequest.method.==(Method.GET)=>
valsegments:Vector[String]=request.pathInfo.segments.map[String](((_$2:Segment)=>_$2.decoded(_$2.decoded$default$1,plusIsSpace=true,_$2.decoded$default$3)))
catsSyntaxApplicativeError[[A>:Nothing<:Any]=>OptionT[F,A],Throwable,Response[F]](OptionT.liftF[F,Path](F.catchNonFatal[Path](segments.foldLeft[Path](Root)(((`x$1₂`:Path,x$2:String)=>Tuple2.apply[Path,String](`x$1₂`,x$2)match{
caseTuple2(_,(""|"."|".."))=>
throwBadTraversal
caseTuple2(path,segment)=>
path.resolve(segment)
})))(refl[Throwable]))(F).subflatMap[WebjarAsset](((p:Path)=>WebjarServiceBuilder.this.toWebjarAsset(p)))(F).filter(webjarAssetFilter)(F).flatMap[Response[F]](((_$3:WebjarAsset)=>serveWebjarAsset[F](cacheStrategy,classLoader,request,preferGzipped)(_$3)(F)))(F))(catsDataMonadErrorForOptionT[F,Throwable](F)).recover(((`x$1₃`:Throwable)=>(`x$1₃`:@unchecked)match{
caseBadTraversal=>
Response.apply[F](Status.BadRequest,Response.apply$default$2[F],Response.apply$default$3[F],Response.apply$default$4[F],Response.apply$default$5[F])
}))(catsDataMonadErrorForOptionT[F,Throwable](F))
case_=>
OptionT.none[F,Response[F]](F)
}))
}" class="documentableName ">toRoutes(implicit F: Async[F]): HttpRoutes[F]