All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.fintrospect.renderers.SiteMapModuleRenderer.scala Maven / Gradle / Ivy

There is a newer version: 12.21.1
Show newest version
package io.fintrospect.renderers

import java.net.URL

import com.twitter.finagle.http.Method.Get
import com.twitter.finagle.http.Status.{BadRequest, NotFound, Ok}
import com.twitter.finagle.http.path.Path
import com.twitter.finagle.http.{Request, Response}
import io.fintrospect.ServerRoute
import io.fintrospect.formats.Xml.ResponseBuilder.implicits.{responseBuilderToResponse, statusToResponseBuilderConfig}
import io.fintrospect.parameters.{InvalidParameter, Security}

class SiteMapModuleRenderer(baseUrl: URL) extends ModuleRenderer {

  override def badRequest(badParameters: Seq[InvalidParameter]): Response = BadRequest(badParameters.toString())

  override def notFound(request: Request): Response = NotFound()

  override def description(basePath: Path, security: Security, routes: Seq[ServerRoute[_, _]]): Response = {
    def buildUrl(route: ServerRoute[_, _]) =
      
        
          {baseUrl + route.describeFor(basePath)}
        
      

    Ok(
      {routes.filter(_.method == Get).map(buildUrl)}
    )
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy