fix api urls in swagger

This commit is contained in:
Evgenii Alekseev 2019-12-29 03:44:18 +03:00
parent 65a4a25b3a
commit 666a1b8b7a
4 changed files with 13 additions and 5 deletions

View File

@ -5,7 +5,7 @@ me.arcanis.ffxivbis {
# xivapi base url, string, required
xivapi-url = "https://xivapi.com"
# xivapi developer key, string, optional
# xivapi-key = "abcdef"
#xivapi-key = "abcdef"
}
database {
@ -54,6 +54,8 @@ me.arcanis.ffxivbis {
host = "127.0.0.1"
# port to bind, int, required
port = 8000
# hostname to use in docs, if not set host:port will be used
#hostname = "127.0.0.1:8000"
# rate limits
limits {

View File

@ -29,6 +29,7 @@ class RootEndpoint(system: ActorSystem, storage: ActorRef, ariyala: ActorRef)
private val rootApiV1Endpoint: RootApiV1Endpoint = new RootApiV1Endpoint(storage, ariyala, config)
private val rootView: RootView = new RootView(storage, ariyala)
private val swagger: Swagger = new Swagger(config)
private val httpLogger = Logger("http")
private val withHttpLog: Directive0 =
@ -43,7 +44,7 @@ class RootEndpoint(system: ActorSystem, storage: ActorRef, ariyala: ActorRef)
def route: Route =
withHttpLog {
apiRoute ~ htmlRoute ~ Swagger.routes ~ swaggerUIRoute
apiRoute ~ htmlRoute ~ swagger.routes ~ swaggerUIRoute
}
private def apiRoute: Route =

View File

@ -10,11 +10,12 @@ package me.arcanis.ffxivbis.http
import com.github.swagger.akka.SwaggerHttpService
import com.github.swagger.akka.model.{Info, License}
import com.typesafe.config.Config
import io.swagger.v3.oas.models.security.SecurityScheme
import scala.io.Source
object Swagger extends SwaggerHttpService {
class Swagger(config: Config) extends SwaggerHttpService {
override val apiClasses: Set[Class[_]] = Set(
classOf[api.v1.BiSEndpoint], classOf[api.v1.LootEndpoint],
classOf[api.v1.PlayerEndpoint], classOf[api.v1.TypesEndpoint],
@ -28,12 +29,16 @@ object Swagger extends SwaggerHttpService {
license = Some(License("BSD", "https://raw.githubusercontent.com/arcan1s/ffxivbis/master/LICENSE"))
)
override val host: String =
if (config.hasPath("me.arcanis.ffxivbis.web.hostname")) config.getString("me.arcanis.ffxivbis.web.hostname")
else s"${config.getString("me.arcanis.ffxivbis.web.host")}:${config.getString("me.arcanis.ffxivbis.web.port")}"
private val basicAuth = new SecurityScheme()
.description("basic http auth")
.`type`(SecurityScheme.Type.HTTP)
.in(SecurityScheme.In.HEADER)
.scheme("bearer")
override def securitySchemes: Map[String, SecurityScheme] = Map("basic auth" -> basicAuth)
override val securitySchemes: Map[String, SecurityScheme] = Map("basic auth" -> basicAuth)
override val unwantedDefinitions: Seq[String] =
Seq("Function1", "Function1RequestContextFutureRouteResult")

View File

@ -1 +1 @@
version := "0.9.5"
version := "0.9.6"