mirror of
https://github.com/corda/corda.git
synced 2024-12-23 14:52:29 +00:00
Merge pull request #607 from corda/rog-webserver-index-plugin-tweak
Filter out the default node plugins as per request from Chris.
This commit is contained in:
commit
9dde0db407
@ -24,10 +24,8 @@ import org.slf4j.LoggerFactory
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
import java.lang.reflect.InvocationTargetException
|
import java.lang.reflect.InvocationTargetException
|
||||||
import java.util.ServiceLoader
|
import java.util.*
|
||||||
import javax.servlet.http.HttpServlet
|
|
||||||
import javax.servlet.http.HttpServletRequest
|
import javax.servlet.http.HttpServletRequest
|
||||||
import javax.servlet.http.HttpServletResponse
|
|
||||||
import javax.ws.rs.core.MediaType
|
import javax.ws.rs.core.MediaType
|
||||||
|
|
||||||
class NodeWebServer(val config: WebServerConfig) {
|
class NodeWebServer(val config: WebServerConfig) {
|
||||||
@ -160,7 +158,13 @@ class NodeWebServer(val config: WebServerConfig) {
|
|||||||
resourceConfig.addProperties(mapOf(ServerProperties.APPLICATION_NAME to "node.api",
|
resourceConfig.addProperties(mapOf(ServerProperties.APPLICATION_NAME to "node.api",
|
||||||
ServerProperties.MONITORING_STATISTICS_MBEANS_ENABLED to "true"))
|
ServerProperties.MONITORING_STATISTICS_MBEANS_ENABLED to "true"))
|
||||||
|
|
||||||
val infoServlet = ServletHolder(CorDappInfoServlet(pluginRegistries, localRpc))
|
val filteredPlugins = pluginRegistries.filterNot {
|
||||||
|
it.javaClass.name.startsWith("net.corda.node.") ||
|
||||||
|
it.javaClass.name.startsWith("net.corda.core.") ||
|
||||||
|
it.javaClass.name.startsWith("net.corda.nodeapi.")
|
||||||
|
}
|
||||||
|
|
||||||
|
val infoServlet = ServletHolder(CorDappInfoServlet(filteredPlugins, localRpc))
|
||||||
addServlet(infoServlet, "")
|
addServlet(infoServlet, "")
|
||||||
|
|
||||||
val container = ServletContainer(resourceConfig)
|
val container = ServletContainer(resourceConfig)
|
||||||
|
@ -23,36 +23,40 @@ class CorDappInfoServlet(val plugins: List<CordaPluginRegistry>, val rpc: CordaR
|
|||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
h2 { +"Installed CorDapps" }
|
h2 { +"Installed CorDapps" }
|
||||||
plugins.forEach { plugin ->
|
if (plugins.isEmpty()) {
|
||||||
h3 { +plugin::class.java.name }
|
p { +"No installed custom CorDapps." }
|
||||||
if (plugin.requiredFlows.isNotEmpty()) {
|
} else {
|
||||||
div {
|
plugins.forEach { plugin ->
|
||||||
p { +"Whitelisted flows:" }
|
h3 { +plugin::class.java.name }
|
||||||
ul {
|
if (plugin.requiredFlows.isNotEmpty()) {
|
||||||
plugin.requiredFlows.map { it.key }.forEach { li { +it } }
|
div {
|
||||||
|
p { +"Whitelisted flows:" }
|
||||||
|
ul {
|
||||||
|
plugin.requiredFlows.map { it.key }.forEach { li { +it } }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (plugin.webApis.isNotEmpty()) {
|
||||||
if (plugin.webApis.isNotEmpty()) {
|
div {
|
||||||
div {
|
plugin.webApis.forEach { api ->
|
||||||
plugin.webApis.forEach { api ->
|
val resource = Resource.from(api.apply(rpc)::class.java)
|
||||||
val resource = Resource.from(api.apply(rpc)::class.java)
|
p { +"${resource.name}:" }
|
||||||
p { +"${resource.name}:" }
|
val endpoints = processEndpoints("", resource, mutableListOf<Endpoint>())
|
||||||
val endpoints = processEndpoints("", resource, mutableListOf<Endpoint>())
|
ul {
|
||||||
ul {
|
endpoints.forEach {
|
||||||
endpoints.forEach {
|
li { a(it.uri) { +"${it.method}\t${it.text}" } }
|
||||||
li { a(it.uri) { +"${it.method}\t${it.text}" } }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (plugin.staticServeDirs.isNotEmpty()) {
|
||||||
if (plugin.staticServeDirs.isNotEmpty()) {
|
div {
|
||||||
div {
|
p { +"Static web content:" }
|
||||||
p { +"Static web content:" }
|
ul {
|
||||||
ul {
|
plugin.staticServeDirs.map { it.key }.forEach {
|
||||||
plugin.staticServeDirs.map { it.key }.forEach {
|
li { a("web/$it") { +it } }
|
||||||
li { a("web/$it") { +it } }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user