projectdiscovery/nuclei · error

invalid url scheme provided: %s

Error message

invalid url scheme provided: %s

What it means

Error "invalid url scheme provided: %s" thrown in projectdiscovery/nuclei.

Source

Thrown at pkg/protocols/websocket/websocket.go:397

func addWebsocketDurationFields(event map[string]interface{}, durations []time.Duration) {
	for i, duration := range durations {
		seconds := duration.Seconds()
		event["duration_"+strconv.Itoa(i+1)] = seconds
		event["duration"] = seconds
	}
}

// getAddress returns the address of the host to make request to
func getAddress(toTest string) (string, error) {
	parsed, err := url.Parse(toTest)
	if err != nil {
		return "", errors.Wrap(err, parseUrlErrorMessage)
	}
	scheme := strings.ToLower(parsed.Scheme)

	if scheme != "ws" && scheme != "wss" {
		return "", fmt.Errorf("invalid url scheme provided: %s", scheme)
	}
	if parsed != nil && parsed.Host != "" {
		return parsed.Host, nil
	}
	return "", nil
}

// Match performs matching operation for a matcher on model and returns:
// true and a list of matched snippets if the matcher type is supports it
// otherwise false and an empty string slice
func (request *Request) Match(data map[string]interface{}, matcher *matchers.Matcher) (bool, []string) {
	return protocols.MakeDefaultMatchFunc(data, matcher)
}

// Extract performs extracting operation for an extractor on model and returns true or false.
func (request *Request) Extract(data map[string]interface{}, matcher *extractors.Extractor) map[string]struct{} {
	return protocols.MakeDefaultExtractFunc(data, matcher)
}

View on GitHub (pinned to 265b3a3dec)

When it happens

Trigger: Thrown at pkg/protocols/websocket/websocket.go:397 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of projectdiscovery/nuclei@265b3a3dec (2026-08-15). Data as JSON: /api/errors/fd923fc6487c4435. Report an issue: GitHub.