github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/rpc/rpcinfo/info_server.go (about)

     1  // Copyright Monax Industries Limited
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package rpcinfo
     5  
     6  import (
     7  	"net"
     8  	"net/http"
     9  
    10  	"github.com/hyperledger/burrow/logging"
    11  	"github.com/hyperledger/burrow/logging/structure"
    12  	"github.com/hyperledger/burrow/rpc"
    13  	"github.com/hyperledger/burrow/rpc/lib/server"
    14  )
    15  
    16  func StartServer(service *rpc.Service, pattern string, listener net.Listener, logger *logging.Logger) (*http.Server, error) {
    17  	logger = logger.With(structure.ComponentKey, "RPC_Info")
    18  	routes := GetRoutes(service)
    19  	mux := http.NewServeMux()
    20  	server.RegisterRPCFuncs(mux, routes, logger)
    21  	srv, err := server.StartHTTPServer(listener, mux, logger)
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  	return srv, nil
    26  }