github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/buildlogstream/streamer.go (about) 1 package buildlogstream 2 3 import ( 4 "net/http" 5 6 "github.com/gorilla/websocket" 7 "golang.org/x/net/context" 8 9 "github.com/ActiveState/cli/internal/errs" 10 "github.com/ActiveState/cli/internal/logging" 11 "github.com/ActiveState/cli/pkg/platform/api" 12 ) 13 14 func Connect(ctx context.Context) (*websocket.Conn, error) { 15 url := api.GetServiceURL(api.BuildLogStreamer) 16 header := make(http.Header) 17 header.Add("Origin", "https://"+url.Host) 18 19 logging.Debug("Creating websocket for %s (origin: %s)", url.String(), header.Get("Origin")) 20 conn, _, err := websocket.DefaultDialer.DialContext(ctx, url.String(), header) 21 if err != nil { 22 return nil, errs.Wrap(err, "Could not create websocket dialer") 23 } 24 return conn, nil 25 }