Quick attempt at resolving AWS signing problems#1596
Quick attempt at resolving AWS signing problems#1596kubukoz wants to merge 1 commit intoseries/0.18from
Conversation
| val endpointPrefix = awsService.endpointPrefix.getOrElse(endpoint.id.name) | ||
| val endpointPrefix = | ||
| awsService.endpointPrefix | ||
| .orElse(awsService.arnNamespace.map(_.value)) |
There was a problem hiding this comment.
question: should this be sigv4 rather than arnNamespace?
should we even be looking at endpointPrefix? sigv4 is supposed to match arnNamespace but smithy says it's a SHOULD (see documentation trait of the sigv4 trait members).
For what it's worth, both Sagemaker and Location work if sigv4 is used instead, in both locations of this PR.
There was a problem hiding this comment.
we should eventually just go through all services on https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html one-by-one and validate that we compute the right urls...
There was a problem hiding this comment.
Yeah, it's a bit misleading because of the endpointPrefix value name, but really we should be using the sigv4 value here.
There was a problem hiding this comment.
ok I'll change to sigv4 then, and maybe run through the services to see if it's present on all of them (and what the fallback should be).
This is more of a random attempt rather than a methodically applied implementation, but early testing has proven it to be successful.
Potentially closes #1568, #1532 (works on my machine but needs investigation into whether this is actually a more correct implementation). It would be amazing if there are protocol tests for this...
PR Checklist (not all items are relevant to all PRs)