github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+incompatible/cf/api/strategy/endpoint_strategy.go (about)

     1  package strategy
     2  
     3  import "github.com/blang/semver"
     4  
     5  type EndpointStrategy struct {
     6  	EventsEndpointStrategy
     7  	DomainsEndpointStrategy
     8  }
     9  
    10  func NewEndpointStrategy(versionString string) EndpointStrategy {
    11  	version, err := semver.Make(versionString)
    12  	if err != nil {
    13  		version, _ = semver.Make("0.0.0")
    14  	}
    15  
    16  	strategy := EndpointStrategy{
    17  		EventsEndpointStrategy:  eventsEndpointStrategy{},
    18  		DomainsEndpointStrategy: domainsEndpointStrategy{},
    19  	}
    20  
    21  	v210, _ := semver.Make("2.1.0")
    22  	if version.GTE(v210) {
    23  		strategy.EventsEndpointStrategy = globalEventsEndpointStrategy{}
    24  		strategy.DomainsEndpointStrategy = separatedDomainsEndpointStrategy{}
    25  	}
    26  
    27  	return strategy
    28  }