1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Move UAStringKey to dockerversion pkg

Removes grpc dependency from client

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi 2016-12-22 13:51:47 -08:00
parent 9f3046f9a0
commit 64981b9f09
3 changed files with 7 additions and 7 deletions

View file

@ -14,9 +14,6 @@ import (
// APIVersionKey is the client's requested API version. // APIVersionKey is the client's requested API version.
const APIVersionKey = "api-version" const APIVersionKey = "api-version"
// UAStringKey is used as key type for user-agent string in net/context struct
const UAStringKey = "upstream-user-agent"
// APIFunc is an adapter to allow the use of ordinary functions as Docker API endpoints. // APIFunc is an adapter to allow the use of ordinary functions as Docker API endpoints.
// Any function that has the appropriate signature can be registered as an API endpoint (e.g. getVersion). // Any function that has the appropriate signature can be registered as an API endpoint (e.g. getVersion).
type APIFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error type APIFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error

View file

@ -12,6 +12,7 @@ import (
"github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/server/middleware" "github.com/docker/docker/api/server/middleware"
"github.com/docker/docker/api/server/router" "github.com/docker/docker/api/server/router"
"github.com/docker/docker/dockerversion"
"github.com/gorilla/mux" "github.com/gorilla/mux"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
@ -128,7 +129,7 @@ func (s *Server) makeHTTPHandler(handler httputils.APIFunc) http.HandlerFunc {
// apply to all requests. Data that is specific to the // apply to all requests. Data that is specific to the
// immediate function being called should still be passed // immediate function being called should still be passed
// as 'args' on the function call. // as 'args' on the function call.
ctx := context.WithValue(context.Background(), httputils.UAStringKey, r.Header.Get("User-Agent")) ctx := context.WithValue(context.Background(), dockerversion.UAStringKey, r.Header.Get("User-Agent"))
handlerFunc := s.handlerWithGlobalMiddlewares(handler) handlerFunc := s.handlerWithGlobalMiddlewares(handler)
vars := mux.Vars(r) vars := mux.Vars(r)

View file

@ -4,12 +4,14 @@ import (
"fmt" "fmt"
"runtime" "runtime"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/pkg/parsers/kernel" "github.com/docker/docker/pkg/parsers/kernel"
"github.com/docker/docker/pkg/useragent" "github.com/docker/docker/pkg/useragent"
"golang.org/x/net/context" "golang.org/x/net/context"
) )
// UAStringKey is used as key type for user-agent string in net/context struct
const UAStringKey = "upstream-user-agent"
// DockerUserAgent is the User-Agent the Docker client uses to identify itself. // DockerUserAgent is the User-Agent the Docker client uses to identify itself.
// In accordance with RFC 7231 (5.5.3) is of the form: // In accordance with RFC 7231 (5.5.3) is of the form:
// [docker client's UA] UpstreamClient([upstream client's UA]) // [docker client's UA] UpstreamClient([upstream client's UA])
@ -37,9 +39,9 @@ func DockerUserAgent(ctx context.Context) string {
func getUserAgentFromContext(ctx context.Context) string { func getUserAgentFromContext(ctx context.Context) string {
var upstreamUA string var upstreamUA string
if ctx != nil { if ctx != nil {
var ki interface{} = ctx.Value(httputils.UAStringKey) var ki interface{} = ctx.Value(UAStringKey)
if ki != nil { if ki != nil {
upstreamUA = ctx.Value(httputils.UAStringKey).(string) upstreamUA = ctx.Value(UAStringKey).(string)
} }
} }
return upstreamUA return upstreamUA