Functions
source-expression = scheme-source / host-source / keyword-source / nonce-source / hash-source scheme-source = scheme-part ":" host-source = scheme-part "://" host-part path-part keyword-source = "'self'" / "'unsafe-inline'" / "'unsafe-eval'" base64-value = 1*( ALPHA / DIGIT / "+" / "/" )2( "=" ) nonce-value = base64-value hash-value = base64-value nonce-source = "'nonce-" nonce-value "'" hash-algo = "sha256" / "sha384" / "sha512" hash-source = "'" hash-algo "-" hash-value "'" scheme-part = <scheme production from RFC 3986, section 3.1> host-part = "" / "*." 1host-char ( "." 1host-char ) host-char = ALPHA / DIGIT / "-" path-part = <path production from RFC 3986, section 3.3> port-part = ":" ( 1DIGIT / "*" )