Merged by openshift-bot
OpenShift Bot authored on 2015/11/14 07:18:04... | ... |
@@ -18,6 +18,7 @@ import ( |
18 | 18 |
"github.com/AaronO/go-git-http/auth" |
19 | 19 |
"github.com/prometheus/client_golang/prometheus" |
20 | 20 |
|
21 |
+ "k8s.io/kubernetes/pkg/api/errors" |
|
21 | 22 |
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" |
22 | 23 |
"k8s.io/kubernetes/pkg/healthz" |
23 | 24 |
|
... | ... |
@@ -107,6 +108,14 @@ type Clone struct { |
107 | 107 |
Hooks map[string]string |
108 | 108 |
} |
109 | 109 |
|
110 |
+type statusError struct { |
|
111 |
+ *errors.StatusError |
|
112 |
+} |
|
113 |
+ |
|
114 |
+func (e *statusError) StatusCode() int { |
|
115 |
+ return e.StatusError.Status().Code |
|
116 |
+} |
|
117 |
+ |
|
110 | 118 |
// NewDefaultConfig returns a default server config. |
111 | 119 |
func NewDefaultConfig() *Config { |
112 | 120 |
return &Config{ |
... | ... |
@@ -214,6 +223,9 @@ func NewEnviromentConfig() (*Config, error) { |
214 | 214 |
} |
215 | 215 |
res, err := osc.ImpersonateLocalSubjectAccessReviews(namespace, info.Password).Create(req) |
216 | 216 |
if err != nil { |
217 |
+ if se, ok := err.(*errors.StatusError); ok { |
|
218 |
+ return false, &statusError{se} |
|
219 |
+ } |
|
217 | 220 |
return false, err |
218 | 221 |
} |
219 | 222 |
//log.Printf("debug: server response allowed=%t message=%s", res.Allowed, res.Reason) |