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  }