Skip to content
This repository has been archived by the owner on Apr 13, 2022. It is now read-only.

Commit

Permalink
swaggerYaml => swaggerConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
catena2w committed Dec 20, 2017
1 parent 5059062 commit 1aa80b0
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion examples/src/main/scala/examples/curvepos/SimpleApp.scala
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class SimpleApp(val settingsFilename: String) extends Application {
actorSystem.actorOf(Props(new NodeViewSynchronizer[P, TX, SimpleSyncInfo, SimpleSyncInfoMessageSpec.type, PMOD, SimpleBlockchain, SimpleMemPool]
(networkController, nodeViewHolderRef, localInterface, SimpleSyncInfoMessageSpec, settings.network)))

override val swaggerYaml = ""
override val swaggerConfig = ""

override val apiRoutes: Seq[ApiRoute] = Seq(UtilsApiRoute(settings.restApi),
NodeViewApiRoute[P, TX](settings.restApi, nodeViewHolderRef))
Expand Down
2 changes: 1 addition & 1 deletion examples/src/main/scala/examples/hybrid/HybridApp.scala
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class HybridApp(val settingsFilename: String) extends Application {
PeersApiRoute(peerManagerRef, networkController, settings.restApi)
)

override val swaggerYaml: String = Source.fromResource("api/testApi.yaml").getLines.mkString("\n")
override val swaggerConfig: String = Source.fromResource("api/testApi.yaml").getLines.mkString("\n")

val miner = actorSystem.actorOf(Props(new PowMiner(nodeViewHolderRef, hybridSettings.mining)))
val forger = actorSystem.actorOf(Props(new PosForger(hybridSettings, nodeViewHolderRef)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import akka.actor.ActorSystem
import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.Route
import scorex.core.api.http.swagger.{CorsSupport, SwaggerYamlRoute}
import scorex.core.api.http.swagger.{CorsSupport, SwaggerConfigRoute}
import scorex.core.settings.RESTApiSettings

case class CompositeHttpService(system: ActorSystem, routes: Seq[ApiRoute], settings: RESTApiSettings, swaggerYaml: String)
case class CompositeHttpService(system: ActorSystem, routes: Seq[ApiRoute], settings: RESTApiSettings, swaggerConf: String)
extends CorsSupport {

implicit val actorSystem = system

val swaggerService: SwaggerYamlRoute = new SwaggerYamlRoute(swaggerYaml: String, settings: RESTApiSettings)
val swaggerService: SwaggerConfigRoute = new SwaggerConfigRoute(swaggerConf: String, settings: RESTApiSettings)

val redirectToSwagger: Route = {
redirect("/swagger", StatusCodes.PermanentRedirect)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import com.github.swagger.akka.CustomMediaTypes
import scorex.core.api.http.ApiRoute
import scorex.core.settings.RESTApiSettings

class SwaggerYamlRoute(swaggerYaml: String, override val settings: RESTApiSettings)(implicit val context: ActorRefFactory)
class SwaggerConfigRoute(swaggerConf: String, override val settings: RESTApiSettings)(implicit val context: ActorRefFactory)
extends ApiRoute {

override val route: Route = {
path("api-docs" / "swagger.yaml") {
path("api-docs" / "swagger.conf") {
get {
complete(HttpEntity(CustomMediaTypes.`text/vnd.yaml`, swaggerYaml))
complete(HttpEntity(CustomMediaTypes.`text/vnd.yaml`, swaggerConf))
}
}
}
Expand Down
7 changes: 5 additions & 2 deletions src/main/scala/scorex/core/app/Application.scala
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,17 @@ trait Application extends ScorexLogging {
val nodeViewHolderRef: ActorRef
val nodeViewSynchronizer: ActorRef
val localInterface: ActorRef
val swaggerYaml: String
/**
* API description in openapi format in YAML or JSON
*/
val swaggerConfig: String

val peerManagerRef = actorSystem.actorOf(Props(new PeerManager(settings)))

val nProps = Props(new NetworkController(settings.network, messagesHandler, upnp, peerManagerRef))
val networkController = actorSystem.actorOf(nProps, "networkController")

lazy val combinedRoute = CompositeHttpService(actorSystem, apiRoutes, settings.restApi, swaggerYaml).compositeRoute
lazy val combinedRoute = CompositeHttpService(actorSystem, apiRoutes, settings.restApi, swaggerConfig).compositeRoute

def run(): Unit = {
require(settings.network.agentName.length <= ApplicationNameLimit)
Expand Down

0 comments on commit 1aa80b0

Please sign in to comment.