dont overwrite registering apis

This commit is contained in:
renaynay 2020-03-25 15:28:09 +01:00
parent 8adb2f2b1c
commit 74cd4f2fd0
No known key found for this signature in database
GPG key ID: 731E44FAAFCD0274
2 changed files with 9 additions and 9 deletions

View file

@ -372,7 +372,7 @@ func (n *Node) startHTTP(endpoint string, apis []rpc.API, modules []string, cors
srv := rpc.NewServer()
err := RegisterApisFromWhitelist(apis, modules, srv)
err := registerApisFromWhitelist(apis, modules, srv)
var ws http.Handler
if n.httpEndpoint == n.wsEndpoint {
@ -697,7 +697,11 @@ func (n *Node) apis() []rpc.API {
}
}
func RegisterApisFromWhitelist(apis []rpc.API, modules []string, srv *rpc.Server) error {
func registerApisFromWhitelist(apis []rpc.API, modules []string, srv *rpc.Server) error {
if bad, available := rpc.CheckModuleAvailability(modules, apis); len(bad) > 0 {
log.Error("Unavailable modules in HTTP API list", "unavailable", bad, "available", available)
}
// Generate the whitelist based on the allowed modules
whitelist := make(map[string]bool)
for _, module := range modules {

View file

@ -24,10 +24,10 @@ import (
"github.com/ethereum/go-ethereum/log"
)
// checkModuleAvailability checks that all names given in modules are actually
// CheckModuleAvailability checks that all names given in modules are actually
// available API services. It assumes that the MetadataApi module ("rpc") is always available;
// the registration of this "rpc" module happens in NewServer() and is thus common to all endpoints.
func checkModuleAvailability(modules []string, apis []API) (bad, available []string) {
func CheckModuleAvailability(modules []string, apis []API) (bad, available []string) {
availableSet := make(map[string]struct{})
for _, api := range apis {
if _, ok := availableSet[api.Namespace]; !ok {
@ -45,10 +45,6 @@ func checkModuleAvailability(modules []string, apis []API) (bad, available []str
// StartHTTPEndpoint starts the HTTP RPC endpoint, configured with cors/vhosts/modules.
func StartHTTPEndpoint(endpoint string, apis []API, modules []string, timeouts HTTPTimeouts, handler http.Handler) (net.Listener, error) {
if bad, available := checkModuleAvailability(modules, apis); len(bad) > 0 {
log.Error("Unavailable modules in HTTP API list", "unavailable", bad, "available", available)
}
// Start the HTTP listener
var (
listener net.Listener
@ -86,7 +82,7 @@ func StartHTTPEndpoint(endpoint string, apis []API, modules []string, timeouts H
// StartWSEndpoint starts a websocket endpoint.
func StartWSEndpoint(endpoint string, apis []API, modules []string, wsOrigins []string, exposeAll bool) (net.Listener, *Server, error) {
if bad, available := checkModuleAvailability(modules, apis); len(bad) > 0 {
if bad, available := CheckModuleAvailability(modules, apis); len(bad) > 0 {
log.Error("Unavailable modules in WS API list", "unavailable", bad, "available", available)
}
// Generate the whitelist based on the allowed modules