// NewRegistry returns an instance of registry func NewRegistry(endpoint string, client *http.Client) (*Registry, error) { u, err := utils.ParseEndpoint(endpoint) if err != nil { return nil, err } registry := &Registry{ Endpoint: u, client: client, } return registry, nil }
// NewRepository returns an instance of Repository func NewRepository(name, endpoint string, client *http.Client) (*Repository, error) { name = strings.TrimSpace(name) u, err := utils.ParseEndpoint(endpoint) if err != nil { return nil, err } repository := &Repository{ Name: name, Endpoint: u, client: client, } return repository, nil }
// NewRegistryWithModifiers returns an instance of Registry according to the modifiers func NewRegistryWithModifiers(endpoint string, insecure bool, modifiers ...Modifier) (*Registry, error) { u, err := utils.ParseEndpoint(endpoint) if err != nil { return nil, err } t := &http.Transport{ TLSClientConfig: &tls.Config{ InsecureSkipVerify: insecure, }, } transport := NewTransport(t, modifiers...) return &Registry{ Endpoint: u, client: &http.Client{ Transport: transport, }, }, nil }
// NewRepositoryWithModifiers returns an instance of Repository according to the modifiers func NewRepositoryWithModifiers(name, endpoint string, insecure bool, modifiers ...Modifier) (*Repository, error) { name = strings.TrimSpace(name) u, err := utils.ParseEndpoint(endpoint) if err != nil { return nil, err } t := &http.Transport{ TLSClientConfig: &tls.Config{ InsecureSkipVerify: insecure, }, } transport := NewTransport(t, modifiers...) return &Repository{ Name: name, Endpoint: u, client: &http.Client{ Transport: transport, }, }, nil }