MCPcopy Create free account
hub / github.com/WICG/webpackage / validateFallbackURL

Function validateFallbackURL

go/signedexchange/signedexchange.go:469–481  ·  view source on GitHub ↗
(urlBytes []byte)

Source from the content-addressed store, hash-verified

467}
468
469func validateFallbackURL(urlBytes []byte) (string, error) {
470 // draft-yasskin-http-origin-signed-responses.html#application-signed-exchange
471 // Step 3. "fallbackUrlLength bytes holding a fallbackUrl, which MUST be an absolute URL with a scheme of “https”. " [spec text]
472 urlStr := string(urlBytes)
473 parsedUrl, err := url.Parse(urlStr)
474 if err != nil {
475 return "", fmt.Errorf("signedexchange: cannot parse fallback URL %q: %v", urlStr, err)
476 }
477 if parsedUrl.Scheme != "https" { // This also ensures that parsedUrl is absolute.
478 return "", fmt.Errorf("signedexchange: non-https fallback URL: %q", urlStr)
479 }
480 return urlStr, nil
481}
482
483func (e *Exchange) DumpSignedMessage(w io.Writer, s *Signer) error {
484 bs, err := serializeSignedMessage(e, calculateCertSha256(s.Certs), s.ValidityUrl.String(), s.Date.Unix(), s.Expires.Unix())

Callers 2

decodeRequestMapMethod · 0.85
ReadExchangePrologueFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected