github.com/Ingenico-ePayments/connect-sdk-go@v0.0.0-20240318153750-1f8cd329b9c9/communicator/MetaDataProviderBuilder.go (about) 1 package communicator 2 3 import ( 4 "github.com/Ingenico-ePayments/connect-sdk-go/communicator/communication" 5 "github.com/Ingenico-ePayments/connect-sdk-go/domain/metadata" 6 ) 7 8 // MetaDataProviderBuilder represents a builder for a MetaDataProvider object. 9 type MetaDataProviderBuilder struct { 10 integrator string 11 ShoppingCartExtension *metadata.ShoppingCartExtension 12 AdditionalRequestHeaders []communication.Header 13 } 14 15 // NewMetaDataProviderBuilder creates a MetaDataProviderBuilder with the given Integrator 16 func NewMetaDataProviderBuilder(integrator string) *MetaDataProviderBuilder { 17 return &MetaDataProviderBuilder{integrator, nil, nil} 18 } 19 20 // Build creates a fully initialized MetaDataProvider 21 func (m *MetaDataProviderBuilder) Build() (*MetaDataProvider, error) { 22 return NewMetaDataProviderWithBuilder(*m) 23 }