URL schemes of both Registry and Index are now consistent
							parent
							
								
									580d393d3c
								
							
						
					
					
						commit
						0d85570c9b
					
				| 
						 | 
					@ -18,6 +18,14 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var ErrAlreadyExists = errors.New("Image already exists")
 | 
					var ErrAlreadyExists = errors.New("Image already exists")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func UrlScheme() string {
 | 
				
			||||||
 | 
						u, err := url.Parse(auth.IndexServerAddress())
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return "https"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return u.Scheme
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func doWithCookies(c *http.Client, req *http.Request) (*http.Response, error) {
 | 
					func doWithCookies(c *http.Client, req *http.Request) (*http.Response, error) {
 | 
				
			||||||
	for _, cookie := range c.Jar.Cookies(req.URL) {
 | 
						for _, cookie := range c.Jar.Cookies(req.URL) {
 | 
				
			||||||
		req.AddCookie(cookie)
 | 
							req.AddCookie(cookie)
 | 
				
			||||||
| 
						 | 
					@ -155,7 +163,7 @@ func (r *Registry) GetRemoteTags(registries []string, repository string, token [
 | 
				
			||||||
		repository = "library/" + repository
 | 
							repository = "library/" + repository
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	for _, host := range registries {
 | 
						for _, host := range registries {
 | 
				
			||||||
		endpoint := fmt.Sprintf("https://%s/v1/repositories/%s/tags", host, repository)
 | 
							endpoint := fmt.Sprintf("%s://%s/v1/repositories/%s/tags", UrlScheme(), host, repository)
 | 
				
			||||||
		req, err := r.opaqueRequest("GET", endpoint, nil)
 | 
							req, err := r.opaqueRequest("GET", endpoint, nil)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
| 
						 | 
					@ -249,7 +257,7 @@ func (r *Registry) GetRepositoryData(remote string) (*RepositoryData, error) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Push a local image to the registry
 | 
					// Push a local image to the registry
 | 
				
			||||||
func (r *Registry) PushImageJSONRegistry(imgData *ImgData, jsonRaw []byte, registry string, token []string) error {
 | 
					func (r *Registry) PushImageJSONRegistry(imgData *ImgData, jsonRaw []byte, registry string, token []string) error {
 | 
				
			||||||
	registry = "https://" + registry + "/v1"
 | 
						registry = fmt.Sprintf("%s://%s/v1", UrlScheme(), registry)
 | 
				
			||||||
	// FIXME: try json with UTF8
 | 
						// FIXME: try json with UTF8
 | 
				
			||||||
	req, err := http.NewRequest("PUT", registry+"/images/"+imgData.ID+"/json", strings.NewReader(string(jsonRaw)))
 | 
						req, err := http.NewRequest("PUT", registry+"/images/"+imgData.ID+"/json", strings.NewReader(string(jsonRaw)))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
| 
						 | 
					@ -285,7 +293,7 @@ func (r *Registry) PushImageJSONRegistry(imgData *ImgData, jsonRaw []byte, regis
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (r *Registry) PushImageLayerRegistry(imgId string, layer io.Reader, registry string, token []string) error {
 | 
					func (r *Registry) PushImageLayerRegistry(imgId string, layer io.Reader, registry string, token []string) error {
 | 
				
			||||||
	registry = "https://" + registry + "/v1"
 | 
						registry = fmt.Sprintf("%s://%s/v1", UrlScheme(), registry)
 | 
				
			||||||
	req, err := http.NewRequest("PUT", registry+"/images/"+imgId+"/layer", layer)
 | 
						req, err := http.NewRequest("PUT", registry+"/images/"+imgId+"/layer", layer)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
| 
						 | 
					@ -323,7 +331,7 @@ func (r *Registry) opaqueRequest(method, urlStr string, body io.Reader) (*http.R
 | 
				
			||||||
func (r *Registry) PushRegistryTag(remote, revision, tag, registry string, token []string) error {
 | 
					func (r *Registry) PushRegistryTag(remote, revision, tag, registry string, token []string) error {
 | 
				
			||||||
	// "jsonify" the string
 | 
						// "jsonify" the string
 | 
				
			||||||
	revision = "\"" + revision + "\""
 | 
						revision = "\"" + revision + "\""
 | 
				
			||||||
	registry = "https://" + registry + "/v1"
 | 
						registry = fmt.Sprintf("%s://%s/v1", UrlScheme(), registry)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	req, err := r.opaqueRequest("PUT", registry+"/repositories/"+remote+"/tags/"+tag, strings.NewReader(revision))
 | 
						req, err := r.opaqueRequest("PUT", registry+"/repositories/"+remote+"/tags/"+tag, strings.NewReader(revision))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue