grafana/k6 · error
WebSocket requires a url
Error message
WebSocket requires a url
What it means
Error "WebSocket requires a url" thrown in grafana/k6.
Source
Thrown at internal/js/modules/k6/websockets/websockets.go:163
writeQueueCh: make(chan message),
eventListeners: newEventListeners(),
obj: rt.NewObject(),
tagsAndMeta: params.tagsAndMeta,
sendPings: ping{timestamps: make(map[string]time.Time)},
binaryType: blobBinaryType,
}
// Maybe have this after the goroutine below ?!?
defineWebsocket(rt, w)
go w.establishConnection(params)
return w.obj
}
// parseURL parses the url from the first constructor calls argument or returns an error
func parseURL(urlValue sobek.Value) (*url.URL, error) {
if common.IsNullish(urlValue) {
return nil, errors.New("WebSocket requires a url")
}
// TODO: throw the SyntaxError (https://websockets.spec.whatwg.org/#dom-websocket-websocket)
urlString := urlValue.String()
url, err := url.Parse(urlString)
if err != nil {
return nil, fmt.Errorf("WebSocket requires valid url, but got %q which resulted in %w", urlString, err)
}
if url.Scheme != "ws" && url.Scheme != "wss" {
return nil, fmt.Errorf("WebSocket requires url with scheme ws or wss, but got %q", url.Scheme)
}
if url.Fragment != "" {
return nil, fmt.Errorf("WebSocket requires no url fragment, but got %q", url.Fragment)
}
return url, nil
}
View on GitHub (pinned to 93accf6570)
When it happens
Trigger: Thrown at internal/js/modules/k6/websockets/websockets.go:163 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15).
Data as JSON: /api/errors/83e5ca327c363cfa.
Report an issue: GitHub.