From 7c2e2852d2ad5775f9dcd379ae67297cb38d81ed Mon Sep 17 00:00:00 2001 From: Oscar Reyes Date: Mon, 24 Apr 2023 14:19:08 -0600 Subject: [PATCH] bug(backend): fixing url parsing for http requests (#2430) --- go.work.sum | 2 ++ server/executor/trigger/http.go | 8 ++------ server/go.mod | 3 +++ server/go.sum | 4 ++++ server/otlp/ingester.go | 1 - 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/go.work.sum b/go.work.sum index 113d5ef81e..ab14416e8d 100644 --- a/go.work.sum +++ b/go.work.sum @@ -150,6 +150,8 @@ cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= contrib.go.opencensus.io/exporter/prometheus v0.4.2/go.mod h1:dvEHbiKmgvbr5pjaF9fpw1KeYcjrnC1J8B+JKjsZyRQ= github.com/MarvinJWendt/testza v0.5.2/go.mod h1:xu53QFE5sCdjtMCKk8YMQ2MnymimEctc4n3EjyIYvEY= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= diff --git a/server/executor/trigger/http.go b/server/executor/trigger/http.go index efc3cce8e7..4764c380ac 100644 --- a/server/executor/trigger/http.go +++ b/server/executor/trigger/http.go @@ -7,11 +7,11 @@ import ( "io" "net" "net/http" - "net/url" "strconv" "strings" "time" + "github.com/goware/urlx" "github.com/kubeshop/tracetest/server/expression" "github.com/kubeshop/tracetest/server/model" "go.opentelemetry.io/otel/propagation" @@ -83,15 +83,11 @@ func (te *httpTriggerer) Trigger(ctx context.Context, test model.Test, opts *Tri body = bytes.NewBufferString(tReq.Body) } - parsedUrl, err := url.Parse(tReq.URL) + parsedUrl, err := urlx.Parse(tReq.URL) if err != nil { return response, err } - if parsedUrl.Scheme == "" { - parsedUrl.Scheme = "http" - } - req, err := http.NewRequestWithContext(ctx, strings.ToUpper(string(tReq.Method)), parsedUrl.String(), body) if err != nil { return response, err diff --git a/server/go.mod b/server/go.mod index 62cff7dd2f..7d20378e1c 100644 --- a/server/go.mod +++ b/server/go.mod @@ -60,6 +60,8 @@ require ( require ( github.com/Microsoft/go-winio v0.5.2 // indirect + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/containerd/containerd v1.6.18 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -74,6 +76,7 @@ require ( github.com/go-redis/redis/v7 v7.4.1 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/go-cmp v0.5.9 // indirect + github.com/goware/urlx v0.3.2 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect diff --git a/server/go.sum b/server/go.sum index b1b2c103c8..262fa1b174 100644 --- a/server/go.sum +++ b/server/go.sum @@ -143,8 +143,10 @@ github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMo github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/SAP/go-hdb v0.14.1/go.mod h1:7fdQLVC2lER3urZLjZCm0AuMQfApof92n3aylBPEkMo= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= @@ -885,6 +887,8 @@ github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoA github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/goware/urlx v0.3.2 h1:gdoo4kBHlkqZNaf6XlQ12LGtQOmpKJrR04Rc3RnpJEo= +github.com/goware/urlx v0.3.2/go.mod h1:h8uwbJy68o+tQXCGZNa9D73WN8n0r9OBae5bUnLcgjw= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= diff --git a/server/otlp/ingester.go b/server/otlp/ingester.go index 6f3733d8d1..d99d3109ea 100644 --- a/server/otlp/ingester.go +++ b/server/otlp/ingester.go @@ -27,7 +27,6 @@ func NewIngester(db model.Repository, eventEmitter executor.EventEmitter) ingest } func (i ingester) Ingest(ctx context.Context, request *pb.ExportTraceServiceRequest, requestType string) (*pb.ExportTraceServiceResponse, error) { - fmt.Println(">>>> INGESTING REQUEST") ds, err := i.db.DefaultDataStore(ctx) if err != nil || !ds.IsOTLPBasedProvider() {