in newswires/app/controllers/ViteController.scala [119:154]
private def proxyAsset(
resource: String,
request: Request[AnyContent]
): Future[Result] = {
val query =
if (request.rawQueryString.nonEmpty) "?" + request.rawQueryString
else ""
val location =
new URL(
"http",
"localhost",
5173,
"/assets/" + resource + query
).toString
wsClient
.url(location)
.withMethod(request.method)
.withFollowRedirects(false)
.execute()
.map(res => {
val headers = select(res.headers, headersToKeep)
val contentType =
res.headers.get(CONTENT_TYPE).flatMap(_.headOption)
val body =
if (resource == "index.html")
injectClientCodeIntoPageBody(res.bodyAsBytes.utf8String)(
request
)
else res.bodyAsBytes.utf8String
Ok(body)
.as(contentType.getOrElse(TEXT))
.withHeaders(headers: _*)
})
}