Kubernetes Registry (#1064)

* add teh k8s registry

* add k8s reg config/cmd

* go mod update
This commit is contained in:
Asim Aslam
2019-12-27 20:08:46 +00:00
committed by GitHub
parent 22aa7d14b3
commit 61cde4a9f4
14 changed files with 950 additions and 236 deletions

View File

@@ -2,6 +2,7 @@ package api
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
@@ -12,6 +13,8 @@ import (
// Request is used to construct a http request for the k8s API.
type Request struct {
// the request context
context context.Context
client *http.Client
header http.Header
params url.Values
@@ -41,6 +44,10 @@ func (r *Request) verb(method string) *Request {
return r
}
func (r *Request) Context(ctx context.Context) {
r.context = ctx
}
// Get request
func (r *Request) Get() *Request {
return r.verb("GET")
@@ -172,8 +179,15 @@ func (r *Request) request() (*http.Request, error) {
url += "?" + r.params.Encode()
}
var req *http.Request
var err error
// build request
req, err := http.NewRequest(r.method, url, r.body)
if r.context != nil {
req, err = http.NewRequestWithContext(r.context, r.method, url, r.body)
} else {
req, err = http.NewRequest(r.method, url, r.body)
}
if err != nil {
return nil, err
}

View File

@@ -58,6 +58,10 @@ func (r *Response) Into(data interface{}) error {
return r.err
}
func (r *Response) Close() error {
return r.res.Body.Close()
}
func newResponse(res *http.Response, err error) *Response {
r := &Response{
res: res,