-
Notifications
You must be signed in to change notification settings - Fork 249
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
Track, Agree Upon, and Document Breaking Semantic Changes #2815
Comments
@radu-matei @karthik2804 - are there documentation changes for the llm-factor breaking changes we need to add to this list? |
@rylev and SDK folks: do you know if/how:
would affect developers using the SDKs, as opposed to programming directly against wasi-http? It seems like it would still manifest as an error in whatever async "send request" wrapper they use, just internally it would be in a slightly different part of the promise/future/task/whatever. Does that sound right? |
@rylev re "Change how incoming-request.authority is set #2723" - could you expand on what changes in the observable behaviour please? The "moral equivalent" #2684 says "The guest will now see
or more like
Neither of these feel right, and they are clearly incomplete anyway, sorry...! Thanks! |
For example, for users of the Rust SDK, this shouldn't really make a difference as both API points are wrapped up in the Re: the You can see the full logic here - the logic changed a bit in #2747. The authority is determined by the host header or the URL authority (and they much match if both are present). Specifically, for a "self" request, the host header is always set (meaning that the host header will be responsible for the authority the guest will see), and it is set here to the listener address of the running Spin server. I'm actually not sure what the authority is set to in self requests in Spin 2.x - we should investigate that and document it. Does this clarify things? |
Thanks for the confirmation re the HTTP error. I'll double check other SDKs but I think they all hide this (and yep, understood for folks working at the WASI level). Thanks for the link to the authority code. Unfortunately the low-level fragment hasn't really gotten me confident I have my head around what this means for application developers, but let me have another crack at some wording:
(I recognise that "normal" is handwavey here!)
Does that correctly capture the effect at guest level of these changes? Thanks! |
These summaries seem largely good to me.
This part, however, doesn't really track. Previously the authority was always set to the Spin server's listener address (much like is done now for |
Aha! This is the missing piece. Let me word it back to check I now have it right:
(and, thus, modifying the text in self-requests about "as if the request had come from an external client") Thanks! |
I think this is largely correct enough. There are more precise ways to formulate this, but for the purposes of change logs this might be the best balance between correctness and terseness. |
By now we've had plenty of chance to disagree on the breaking changes linked above. @itowlson's docs PR appears to cover the documentation front. Are we good with fermyon/developer#1396 closing this issue once merged? |
From my side, we can close this. |
Below is a list of the breaking semantic changes to the Spin runtime that will be coming in Spin 3.0. Before we release, we should ensure that we are all of with these changes, and then we should document them.
HttpRequestDenied
used to be returned fromwasi:http/outgoing-handler#handle
but are now returned fromwasi:http/types/future-incoming-response#get
incoming-request.authority
is set. #2723base
option developer#1371The text was updated successfully, but these errors were encountered: