The scheme + host (+ port) of the host's public URL, with any path dropped.
The host's public URL is typically the GraphQL endpoint (https://api.example.com/graphql), but extension
routes are mounted at the application root, so the URL a carrier calls — and signs — is the ORIGIN plus the
route's own path. Appending the route to the full public URL double-counts the GraphQL path
(/graphql/telephony/twilio/voice), which breaks both the callback URLs we hand the carrier and the
signature check. An unparseable value falls back to a trailing-slash trim so a misconfiguration surfaces as
a plainly wrong URL rather than an exception on the request path.
The scheme + host (+ port) of the host's public URL, with any path dropped.
The host's public URL is typically the GraphQL endpoint (
https://api.example.com/graphql), but extension routes are mounted at the application root, so the URL a carrier calls — and signs — is the ORIGIN plus the route's own path. Appending the route to the full public URL double-counts the GraphQL path (/graphql/telephony/twilio/voice), which breaks both the callback URLs we hand the carrier and the signature check. An unparseable value falls back to a trailing-slash trim so a misconfiguration surfaces as a plainly wrong URL rather than an exception on the request path.