From 6c67be051524ba5708d875722d071c6dbc2953d8 Mon Sep 17 00:00:00 2001 From: Matej Vasek Date: Fri, 10 Dec 2021 17:12:29 +0100 Subject: [PATCH] src: revert golobal dialer (#716) Signed-off-by: Matej Vasek --- cloudevents/emitter.go | 21 +++++++++++---------- cmd/emit.go | 9 +++++++++ cmd/func/main.go | 8 -------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/cloudevents/emitter.go b/cloudevents/emitter.go index 2c528ad194..60382f0050 100644 --- a/cloudevents/emitter.go +++ b/cloudevents/emitter.go @@ -3,6 +3,7 @@ package cloudevents import ( "context" "fmt" + nethttp "net/http" cloudevents "github.com/cloudevents/sdk-go/v2" "github.com/cloudevents/sdk-go/v2/client" @@ -24,6 +25,7 @@ type Emitter struct { Id string Data string ContentType string + Transport nethttp.RoundTripper } func NewEmitter() *Emitter { @@ -33,14 +35,21 @@ func NewEmitter() *Emitter { Id: uuid.NewString(), Data: "", ContentType: event.TextPlain, + Transport: nethttp.DefaultTransport, } } func (e *Emitter) Emit(ctx context.Context, endpoint string) (err error) { - c, err := newClient(endpoint) + p, err := http.New(http.WithTarget(endpoint), http.WithRoundTripper(e.Transport)) if err != nil { - return + return err } + + c, err := client.New(p) + if err != nil { + return err + } + evt := event.Event{ Context: event.EventContextV1{ Type: e.Type, @@ -60,11 +69,3 @@ func (e *Emitter) Emit(ctx context.Context, endpoint string) (err error) { } return nil } - -func newClient(target string) (c client.Client, err error) { - p, err := http.New(http.WithTarget(target)) - if err != nil { - return - } - return client.New(p) -} diff --git a/cmd/emit.go b/cmd/emit.go index d695ec3600..df4bf9422a 100644 --- a/cmd/emit.go +++ b/cmd/emit.go @@ -4,12 +4,14 @@ import ( "context" "errors" "io/ioutil" + "net/http" "github.com/google/uuid" "github.com/ory/viper" "github.com/spf13/cobra" fn "knative.dev/kn-plugin-func" "knative.dev/kn-plugin-func/cloudevents" + fnhttp "knative.dev/kn-plugin-func/http" "knative.dev/kn-plugin-func/knative" ) @@ -25,6 +27,9 @@ func newEmitClient(cfg emitConfig) (*fn.Client, error) { e.Type = cfg.Type e.ContentType = cfg.ContentType e.Data = cfg.Data + if e.Transport != nil { + e.Transport = cfg.Transport + } if cfg.File != "" { // See config.Validate for --Data and --file exclusivity enforcement b, err := ioutil.ReadFile(cfg.File) @@ -106,6 +111,9 @@ func runEmit(cmd *cobra.Command, _ []string, clientFn emitClientFn) (err error) } // Instantiate a client based on the final value of config + transport := fnhttp.NewRoundTripper() + defer transport.Close() + config.Transport = transport client, err := clientFn(config) if err != nil { return err @@ -175,6 +183,7 @@ type emitConfig struct { ContentType string Sink string Verbose bool + Transport http.RoundTripper } func newEmitConfig() emitConfig { diff --git a/cmd/func/main.go b/cmd/func/main.go index 89782a2f01..bc79adf82b 100644 --- a/cmd/func/main.go +++ b/cmd/func/main.go @@ -2,13 +2,10 @@ package main import ( "context" - "net/http" "os" "os/signal" "syscall" - funcHttp "knative.dev/kn-plugin-func/http" - "knative.dev/kn-plugin-func/cmd" ) @@ -17,11 +14,6 @@ import ( var date, vers, hash string func main() { - - rt := funcHttp.NewRoundTripper() - http.DefaultTransport = rt - defer rt.Close() - ctx, cancel := context.WithCancel(context.Background()) defer cancel()