فهرست منبع

Add arch/os info to user agent (Registry)

Guillaume J. Charmes 11 سال پیش
والد
کامیت
e4561438f1
3فایلهای تغییر یافته به همراه13 افزوده شده و 9 حذف شده
  1. 2 0
      server.go
  2. 9 9
      utils/http.go
  3. 2 0
      version.go

+ 2 - 0
server.go

@@ -2018,6 +2018,8 @@ func (srv *Server) HTTPRequestFactory(metaHeaders map[string][]string) *utils.HT
 	httpVersion = append(httpVersion, &simpleVersionInfo{"go", v.Get("GoVersion")})
 	httpVersion = append(httpVersion, &simpleVersionInfo{"go", v.Get("GoVersion")})
 	httpVersion = append(httpVersion, &simpleVersionInfo{"git-commit", v.Get("GitCommit")})
 	httpVersion = append(httpVersion, &simpleVersionInfo{"git-commit", v.Get("GitCommit")})
 	httpVersion = append(httpVersion, &simpleVersionInfo{"kernel", v.Get("KernelVersion")})
 	httpVersion = append(httpVersion, &simpleVersionInfo{"kernel", v.Get("KernelVersion")})
+	httpVersion = append(httpVersion, &simpleVersionInfo{"os", v.Get("Os")})
+	httpVersion = append(httpVersion, &simpleVersionInfo{"arch", v.Get("Arch")})
 	ud := utils.NewHTTPUserAgentDecorator(httpVersion...)
 	ud := utils.NewHTTPUserAgentDecorator(httpVersion...)
 	md := &utils.HTTPMetaHeadersDecorator{
 	md := &utils.HTTPMetaHeadersDecorator{
 		Headers: metaHeaders,
 		Headers: metaHeaders,

+ 9 - 9
utils/http.go

@@ -76,9 +76,9 @@ type HTTPUserAgentDecorator struct {
 }
 }
 
 
 func NewHTTPUserAgentDecorator(versions ...VersionInfo) HTTPRequestDecorator {
 func NewHTTPUserAgentDecorator(versions ...VersionInfo) HTTPRequestDecorator {
-	ret := new(HTTPUserAgentDecorator)
-	ret.versions = versions
-	return ret
+	return &HTTPUserAgentDecorator{
+		versions: versions,
+	}
 }
 }
 
 
 func (h *HTTPUserAgentDecorator) ChangeRequest(req *http.Request) (newReq *http.Request, err error) {
 func (h *HTTPUserAgentDecorator) ChangeRequest(req *http.Request) (newReq *http.Request, err error) {
@@ -108,15 +108,15 @@ func (h *HTTPMetaHeadersDecorator) ChangeRequest(req *http.Request) (newReq *htt
 }
 }
 
 
 type HTTPAuthDecorator struct {
 type HTTPAuthDecorator struct {
-	login string
+	login    string
 	password string
 	password string
 }
 }
 
 
 func NewHTTPAuthDecorator(login, password string) HTTPRequestDecorator {
 func NewHTTPAuthDecorator(login, password string) HTTPRequestDecorator {
-	ret := new(HTTPAuthDecorator)
-	ret.login = login
-	ret.password = password
-	return ret
+	return &HTTPAuthDecorator{
+		login:    login,
+		password: password,
+	}
 }
 }
 
 
 func (self *HTTPAuthDecorator) ChangeRequest(req *http.Request) (*http.Request, error) {
 func (self *HTTPAuthDecorator) ChangeRequest(req *http.Request) (*http.Request, error) {
@@ -136,7 +136,7 @@ func NewHTTPRequestFactory(d ...HTTPRequestDecorator) *HTTPRequestFactory {
 	}
 	}
 }
 }
 
 
-func (self *HTTPRequestFactory) AddDecorator(d... HTTPRequestDecorator) {
+func (self *HTTPRequestFactory) AddDecorator(d ...HTTPRequestDecorator) {
 	self.decorators = append(self.decorators, d...)
 	self.decorators = append(self.decorators, d...)
 }
 }
 
 

+ 2 - 0
version.go

@@ -25,6 +25,8 @@ func dockerVersion() *engine.Env {
 	v.Set("Version", VERSION)
 	v.Set("Version", VERSION)
 	v.Set("GitCommit", GITCOMMIT)
 	v.Set("GitCommit", GITCOMMIT)
 	v.Set("GoVersion", runtime.Version())
 	v.Set("GoVersion", runtime.Version())
+	v.Set("Os", runtime.GOOS)
+	v.Set("Arch", runtime.GOARCH)
 	// FIXME:utils.GetKernelVersion should only be needed here
 	// FIXME:utils.GetKernelVersion should only be needed here
 	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
 	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
 		v.Set("KernelVersion", kernelVersion.String())
 		v.Set("KernelVersion", kernelVersion.String())