JuliusBrussee/caveman · error

invalid absolute base URL

Error message

invalid absolute base URL

What it means

Error "invalid absolute base URL" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/replay_http.go:257

			return nil
		}
		if !validAWSRegion(region) || !transport.credentials.AWS.Valid() || !validReplaySecret(transport.credentials.AWS.AccessKeyID) || !validReplaySecret(transport.credentials.AWS.SecretAccessKey) || transport.credentials.AWS.SessionToken != "" && !validReplaySecret(transport.credentials.AWS.SessionToken) {
			return errors.New("cachebench: Bedrock credentials unavailable")
		}
		signer := awssig.Signer{Region: region, Service: "bedrock"}
		if err := signer.Sign(request, transport.credentials.AWS, awssig.HashPayload(body), time.Now().UTC()); err != nil {
			return errors.New("cachebench: Bedrock request signing failed")
		}
	default:
		return errors.New("cachebench: unsupported replay provider")
	}
	return nil
}

func validateReplayBaseURL(raw string, allowInsecureLoopback bool) (*url.URL, error) {
	parsed, err := url.Parse(strings.TrimSpace(raw))
	if err != nil || parsed.Host == "" || parsed.User != nil || parsed.RawQuery != "" || parsed.Fragment != "" {
		return nil, errors.New("invalid absolute base URL")
	}
	if parsed.Scheme == "https" {
		return parsed, nil
	}
	if parsed.Scheme == "http" && allowInsecureLoopback && isLoopbackHost(parsed.Hostname()) {
		return parsed, nil
	}
	return nil, errors.New("HTTPS required; HTTP is test-only on explicit loopback")
}

func validReplaySecret(value string) bool {
	return validBoundedText(value, 16*1024, false)
}

func validAWSRegion(value string) bool {
	if len(value) < 3 || len(value) > 64 {
		return false
	}

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Provide a valid absolute base URL.

When it happens

Trigger: Thrown at cacheengine/cachebench/replay_http.go:257 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/072a72c6691bd701. Report an issue: GitHub.