You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
... 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 🙏
The text was updated successfully, but these errors were encountered:
... 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-returnedUnsupported
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 beundefined
or""
in the error case.incidentally @JakeChampion has a PR which would fix this by returning
FastlyStatus::None
for this circumstance instead. thehandler.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 ifhandle.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 🙏The text was updated successfully, but these errors were encountered: