Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client TLS info functions error in unanticipated ways #352

Open
iximeow opened this issue Mar 20, 2024 · 0 comments
Open

client TLS info functions error in unanticipated ways #352

iximeow opened this issue Mar 20, 2024 · 0 comments

Comments

@iximeow
Copy link

iximeow commented Mar 20, 2024

... or at least ways some SDKs (Rust in particular) don't know how to handle.

on the production Compute platform not having client TLS info, like when Compute handles an HTTP request, would return FastlyStatus::ERROR (according to the Rust SDK source anyway) for these kind of calls. the now-returned Unsupported error causes Rust programs calling these client info helpers to panic.

i gave took a look at the Go and Javascript SDKs, it looks like the Go SDK doesn't have an issue here because the incoming request scheme wouldn't be https (in which case i think #351 would manifest as an issue with Go programs handling https), and i can't quite tell what happens with the JS SDK - it looks like the strings might be undefined or "" in the error case.

incidentally @JakeChampion has a PR which would fix this by returning FastlyStatus::None for this circumstance instead. the handler.rs docs above suggest that doesn't match the platform's behavior entirely if the client request is not TLS, but i'm not sure if handle.rs is actually right about the status in that case .. 😅

so, that said: #315 seems like it hits all the right notes to make Viceroy closer to Compute in the "non-TLS request" case, and would make Rust services that call these helpers once again see None rather than a panic 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant