github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/eventing.go (about)

     1  package model
     2  
     3  import (
     4  	"fmt"
     5  	"net/url"
     6  )
     7  
     8  // EventingConfiguration missing godoc
     9  type EventingConfiguration struct {
    10  	DefaultURL url.URL
    11  }
    12  
    13  // RuntimeEventingConfiguration missing godoc
    14  type RuntimeEventingConfiguration struct {
    15  	EventingConfiguration
    16  }
    17  
    18  // NewRuntimeEventingConfiguration missing godoc
    19  func NewRuntimeEventingConfiguration(rawEventURL string) (*RuntimeEventingConfiguration, error) {
    20  	validURL, err := url.Parse(rawEventURL)
    21  	if err != nil {
    22  		return nil, err
    23  	}
    24  
    25  	return &RuntimeEventingConfiguration{
    26  		EventingConfiguration: EventingConfiguration{
    27  			DefaultURL: *validURL,
    28  		},
    29  	}, nil
    30  }
    31  
    32  // AppPathURL missing godoc
    33  const AppPathURL = "/%s/v1/events"
    34  
    35  // ApplicationEventingConfiguration missing godoc
    36  type ApplicationEventingConfiguration struct {
    37  	EventingConfiguration
    38  }
    39  
    40  // NewApplicationEventingConfiguration missing godoc
    41  func NewApplicationEventingConfiguration(runtimeEventURL url.URL, appName string) (*ApplicationEventingConfiguration, error) {
    42  	appEventURL := runtimeEventURL
    43  	if appEventURL.Host != "" {
    44  		appEventURL.Path = fmt.Sprintf(AppPathURL, appName)
    45  	}
    46  
    47  	return &ApplicationEventingConfiguration{
    48  		EventingConfiguration: EventingConfiguration{
    49  			DefaultURL: appEventURL,
    50  		},
    51  	}, nil
    52  }
    53  
    54  // NewEmptyApplicationEventingConfig missing godoc
    55  func NewEmptyApplicationEventingConfig() (*ApplicationEventingConfiguration, error) {
    56  	return &ApplicationEventingConfiguration{
    57  		EventingConfiguration: EventingConfiguration{
    58  			DefaultURL: url.URL{},
    59  		},
    60  	}, nil
    61  }