Skip to content

Commit 4be93f2

Browse files
authored
extract router config collect all (#270)
* extract router config collect all Signed-off-by: May.Buzaglo <[email protected]> * fix error message Signed-off-by: May.Buzaglo <[email protected]> --------- Signed-off-by: May.Buzaglo <[email protected]>
1 parent 5be7273 commit 4be93f2

File tree

3 files changed

+26
-29
lines changed

3 files changed

+26
-29
lines changed

common/requestfilter/sigfilter_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@ package requestfilter_test
99
import (
1010
"testing"
1111

12-
"github.com/pkg/errors"
13-
1412
"github.com/hyperledger/fabric-protos-go-apiv2/common"
1513
"github.com/hyperledger/fabric-x-common/common/policies"
1614
policyMock "github.com/hyperledger/fabric-x-orderer/common/policy/mocks"
1715
"github.com/hyperledger/fabric-x-orderer/common/requestfilter"
1816
"github.com/hyperledger/fabric-x-orderer/common/requestfilter/mocks"
1917
"github.com/hyperledger/fabric-x-orderer/node/protos/comm"
2018
"github.com/hyperledger/fabric-x-orderer/testutil/tx"
19+
"github.com/pkg/errors"
2120
"github.com/stretchr/testify/require"
2221
"google.golang.org/protobuf/proto"
2322
)

config/config.go

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ import (
1717
"strconv"
1818
"time"
1919

20-
"github.com/hyperledger/fabric-x-common/protoutil"
21-
2220
smartbft_types "github.com/hyperledger-labs/SmartBFT/pkg/types"
21+
"github.com/hyperledger/fabric-lib-go/bccsp/factory"
2322
"github.com/hyperledger/fabric-protos-go-apiv2/common"
23+
"github.com/hyperledger/fabric-x-common/protoutil"
24+
"github.com/hyperledger/fabric-x-orderer/common/policy"
2425
"github.com/hyperledger/fabric-x-orderer/common/types"
2526
"github.com/hyperledger/fabric-x-orderer/common/utils"
2627
"github.com/hyperledger/fabric-x-orderer/config/protos"
@@ -144,7 +145,25 @@ func (config *Configuration) GetBFTConfig(partyID types.PartyID) (smartbft_types
144145
return BFTConfig, nil
145146
}
146147

147-
func (config *Configuration) ExtractRouterConfig() *nodeconfig.RouterNodeConfig {
148+
func (config *Configuration) ExtractRouterConfig(configBlock *common.Block) *nodeconfig.RouterNodeConfig {
149+
channelID, err := ReadChannelIdFromConfigBlock(configBlock)
150+
if err != nil {
151+
panic(fmt.Sprintf("failed to read channelID from config block: %s", err))
152+
}
153+
154+
bccsp, err := (&factory.SWFactory{}).Get(config.LocalConfig.NodeLocalConfig.GeneralConfig.BCCSP)
155+
if err != nil {
156+
bccsp = factory.GetDefault()
157+
}
158+
env, err := protoutil.GetEnvelopeFromBlock(configBlock.Data.Data[0])
159+
if err != nil {
160+
panic(fmt.Sprintf("failed to get envelope from config block: %s", err))
161+
}
162+
bundle, err := policy.BuildBundleFromBlock(env, bccsp)
163+
if err != nil {
164+
panic(fmt.Sprintf("failed to build bundle from config block: %s", err))
165+
}
166+
148167
routerConfig := &nodeconfig.RouterNodeConfig{
149168
PartyID: config.LocalConfig.NodeLocalConfig.PartyID,
150169
TLSCertificateFile: config.LocalConfig.TLSConfig.Certificate,
@@ -157,6 +176,8 @@ func (config *Configuration) ExtractRouterConfig() *nodeconfig.RouterNodeConfig
157176
ClientAuthRequired: config.LocalConfig.TLSConfig.ClientAuthRequired,
158177
RequestMaxBytes: config.SharedConfig.BatchingConfig.RequestMaxBytes,
159178
ClientSignatureVerificationRequired: config.LocalConfig.NodeLocalConfig.RouterParams.ClientSignatureVerificationRequired,
179+
ChannelID: channelID,
180+
PolicyManager: bundle.PolicyManager(),
160181
}
161182
return routerConfig
162183
}

node/server/arma.go

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,10 @@ import (
1313
"path/filepath"
1414
"syscall"
1515

16-
"github.com/hyperledger/fabric-lib-go/bccsp/factory"
1716
"github.com/hyperledger/fabric-lib-go/common/flogging"
1817
"github.com/hyperledger/fabric-protos-go-apiv2/common"
1918
"github.com/hyperledger/fabric-protos-go-apiv2/orderer"
20-
"github.com/hyperledger/fabric-x-common/protoutil"
2119
"github.com/hyperledger/fabric-x-orderer/common/msp"
22-
"github.com/hyperledger/fabric-x-orderer/common/policy"
2320
"github.com/hyperledger/fabric-x-orderer/config"
2421
"github.com/hyperledger/fabric-x-orderer/node"
2522
"github.com/hyperledger/fabric-x-orderer/node/assembler"
@@ -203,27 +200,7 @@ func launchRouter(stop chan struct{}) func(configFile *os.File) {
203200
panic(fmt.Sprintf("error launching router, err: %s", err))
204201
}
205202

206-
routerConf := conf.ExtractRouterConfig()
207-
208-
channelID, err := config.ReadChannelIdFromConfigBlock(genesisBlock)
209-
if err != nil {
210-
panic(fmt.Sprintf("failed to read channelID from genesis block: %s", err))
211-
}
212-
routerConf.ChannelID = channelID
213-
214-
bccsp, err := (&factory.SWFactory{}).Get(conf.LocalConfig.NodeLocalConfig.GeneralConfig.BCCSP)
215-
if err != nil {
216-
bccsp = factory.GetDefault()
217-
}
218-
env, err := protoutil.GetEnvelopeFromBlock(genesisBlock.Data.Data[0])
219-
if err != nil {
220-
panic(fmt.Sprintf("failed to get envelope from genesis block: %s", err))
221-
}
222-
bundle, err := policy.BuildBundleFromBlock(env, bccsp)
223-
if err != nil {
224-
panic(fmt.Sprintf("failed to build bundle from genesis block: %s", err))
225-
}
226-
routerConf.PolicyManager = bundle.PolicyManager()
203+
routerConf := conf.ExtractRouterConfig(genesisBlock)
227204

228205
var routerLogger *flogging.FabricLogger
229206
if testLogger != nil {

0 commit comments

Comments
 (0)