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 }