*: remove use of golang.org/x/net/context (#4869)

* *: remove use of golang.org/x/net/context

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* scrape: fix TestTargetScrapeScrapeCancel

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit is contained in:
Simon Pasquier 2018-11-19 12:31:16 +01:00 committed by GitHub
parent ca93fd544b
commit ed19373a78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 16 deletions

View file

@ -27,7 +27,6 @@ import (
"github.com/go-kit/kit/log" "github.com/go-kit/kit/log"
"github.com/go-kit/kit/log/level" "github.com/go-kit/kit/log/level"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
"golang.org/x/net/context/ctxhttp"
) )
const ( const (
@ -106,7 +105,12 @@ func (c *Client) Write(samples model.Samples) error {
ctx, cancel := context.WithTimeout(context.Background(), c.timeout) ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel() defer cancel()
resp, err := ctxhttp.Post(ctx, http.DefaultClient, u.String(), contentTypeJSON, bytes.NewBuffer(buf)) req, err := http.NewRequest("POST", u.String(), bytes.NewBuffer(buf))
if err != nil {
return err
}
req.Header.Set("Content-Type", contentTypeJSON)
resp, err := http.DefaultClient.Do(req.WithContext(ctx))
if err != nil { if err != nil {
return err return err
} }

View file

@ -33,8 +33,6 @@ import (
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
config_util "github.com/prometheus/common/config" config_util "github.com/prometheus/common/config"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
old_ctx "golang.org/x/net/context"
"golang.org/x/net/context/ctxhttp"
"github.com/prometheus/prometheus/config" "github.com/prometheus/prometheus/config"
"github.com/prometheus/prometheus/discovery/targetgroup" "github.com/prometheus/prometheus/discovery/targetgroup"
@ -124,7 +122,7 @@ type Options struct {
ExternalLabels model.LabelSet ExternalLabels model.LabelSet
RelabelConfigs []*config.RelabelConfig RelabelConfigs []*config.RelabelConfig
// Used for sending HTTP requests to the Alertmanager. // Used for sending HTTP requests to the Alertmanager.
Do func(ctx old_ctx.Context, client *http.Client, req *http.Request) (*http.Response, error) Do func(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error)
Registerer prometheus.Registerer Registerer prometheus.Registerer
} }
@ -206,12 +204,19 @@ func newAlertMetrics(r prometheus.Registerer, queueCap int, queueLen, alertmanag
return m return m
} }
func do(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
if client == nil {
client = http.DefaultClient
}
return client.Do(req.WithContext(ctx))
}
// NewManager is the manager constructor. // NewManager is the manager constructor.
func NewManager(o *Options, logger log.Logger) *Manager { func NewManager(o *Options, logger log.Logger) *Manager {
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
if o.Do == nil { if o.Do == nil {
o.Do = ctxhttp.Do o.Do = do
} }
if logger == nil { if logger == nil {
logger = log.NewNopLogger() logger = log.NewNopLogger()

View file

@ -25,7 +25,6 @@ import (
"testing" "testing"
"time" "time"
old_ctx "golang.org/x/net/context"
yaml "gopkg.in/yaml.v2" yaml "gopkg.in/yaml.v2"
config_util "github.com/prometheus/common/config" config_util "github.com/prometheus/common/config"
@ -212,7 +211,7 @@ func TestCustomDo(t *testing.T) {
var received bool var received bool
h := NewManager(&Options{ h := NewManager(&Options{
Do: func(ctx old_ctx.Context, client *http.Client, req *http.Request) (*http.Response, error) { Do: func(_ context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
received = true received = true
body, err := ioutil.ReadAll(req.Body) body, err := ioutil.ReadAll(req.Body)

View file

@ -32,7 +32,6 @@ import (
config_util "github.com/prometheus/common/config" config_util "github.com/prometheus/common/config"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
"github.com/prometheus/common/version" "github.com/prometheus/common/version"
"golang.org/x/net/context/ctxhttp"
"github.com/prometheus/prometheus/config" "github.com/prometheus/prometheus/config"
"github.com/prometheus/prometheus/discovery/targetgroup" "github.com/prometheus/prometheus/discovery/targetgroup"
@ -469,7 +468,7 @@ func (s *targetScraper) scrape(ctx context.Context, w io.Writer) (string, error)
s.req = req s.req = req
} }
resp, err := ctxhttp.Do(ctx, s.client, s.req) resp, err := s.client.Do(s.req.WithContext(ctx))
if err != nil { if err != nil {
return "", err return "", err
} }

View file

@ -1252,8 +1252,11 @@ func TestTargetScrapeScrapeCancel(t *testing.T) {
}() }()
go func() { go func() {
if _, err := ts.scrape(ctx, ioutil.Discard); err != context.Canceled { _, err := ts.scrape(ctx, ioutil.Discard)
errc <- fmt.Errorf("Expected context cancelation error but got: %s", err) if err == nil {
errc <- fmt.Errorf("Expected error but got nil")
} else if ctx.Err() != context.Canceled {
errc <- fmt.Errorf("Expected context cancelation error but got: %s", ctx.Err())
} }
close(errc) close(errc)
}() }()

View file

@ -26,7 +26,6 @@ import (
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
"github.com/golang/snappy" "github.com/golang/snappy"
"github.com/prometheus/common/model" "github.com/prometheus/common/model"
"golang.org/x/net/context/ctxhttp"
config_util "github.com/prometheus/common/config" config_util "github.com/prometheus/common/config"
"github.com/prometheus/prometheus/prompb" "github.com/prometheus/prometheus/prompb"
@ -90,7 +89,7 @@ func (c *Client) Store(ctx context.Context, req *prompb.WriteRequest) error {
ctx, cancel := context.WithTimeout(context.Background(), c.timeout) ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
defer cancel() defer cancel()
httpResp, err := ctxhttp.Do(ctx, c.client, httpReq) httpResp, err := c.client.Do(httpReq.WithContext(ctx))
if err != nil { if err != nil {
// Errors from client.Do are from (for example) network errors, so are // Errors from client.Do are from (for example) network errors, so are
// recoverable. // recoverable.
@ -144,7 +143,7 @@ func (c *Client) Read(ctx context.Context, query *prompb.Query) (*prompb.QueryRe
ctx, cancel := context.WithTimeout(ctx, c.timeout) ctx, cancel := context.WithTimeout(ctx, c.timeout)
defer cancel() defer cancel()
httpResp, err := ctxhttp.Do(ctx, c.client, httpReq) httpResp, err := c.client.Do(httpReq.WithContext(ctx))
if err != nil { if err != nil {
return nil, fmt.Errorf("error sending request: %v", err) return nil, fmt.Errorf("error sending request: %v", err)
} }

2
vendor/modules.txt vendored
View file

@ -212,12 +212,12 @@ golang.org/x/crypto/ed25519
golang.org/x/crypto/ed25519/internal/edwards25519 golang.org/x/crypto/ed25519/internal/edwards25519
golang.org/x/crypto/ssh/terminal golang.org/x/crypto/ssh/terminal
# golang.org/x/net v0.0.0-20180320002117-6078986fec03 # golang.org/x/net v0.0.0-20180320002117-6078986fec03
golang.org/x/net/context/ctxhttp
golang.org/x/net/context golang.org/x/net/context
golang.org/x/net/netutil golang.org/x/net/netutil
golang.org/x/net/trace golang.org/x/net/trace
golang.org/x/net/ipv4 golang.org/x/net/ipv4
golang.org/x/net/ipv6 golang.org/x/net/ipv6
golang.org/x/net/context/ctxhttp
golang.org/x/net/http2 golang.org/x/net/http2
golang.org/x/net/http2/hpack golang.org/x/net/http2/hpack
golang.org/x/net/internal/timeseries golang.org/x/net/internal/timeseries