private def proxyAsset()

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: _*)
      })
  }