aws-beam / aws-codegen

Code generator for AWS clients in Erlang and Elixir.
Other
53 stars 49 forks source link

Allow aws_s3 to use virtual hosts by passing a Bucket downwards and moving it from the path to the host #82

Closed onno-vos-dev closed 2 years ago

onno-vos-dev commented 2 years ago

Description

In essence, AWS has two styles of talking with S3, by Path or by VirtualHost. The recommended approach is using VirtualHost since Paths are deprecated (but not removed yet since the internet will probably fall apart when doing so... :smile:). This PR changes the aws_s3.erl module to use the VirtualHost style rather than the Path style in order to be compliant with this new approach.

Patch diff

Adding patch diff which shows that on a clean master of aws-erlang the diff is isolated to aws_s3.erl and a newline in aws_s3_control.erl.

A similar patch will likely need to be made to rest.ex.eex but I haven't had the time to do so. If approved, I'll open an issue on aws-elixir and see if someone wants to grab it :-)

aws-erlang-diff.txt

Further reading

https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/

Relates to: https://github.com/aws/aws-sdk-go/issues/4244

onno-vos-dev commented 2 years ago

It'd be nice to get https://github.com/aws-beam/aws-codegen/pull/80 merged prior to this so that we get an automatic push of the new code to aws-erlang :-)

onno-vos-dev commented 2 years ago

Not sure why this got closed and I cannot re-open it apparently... Opened: https://github.com/aws-beam/aws-codegen/pull/83 instead

philss commented 2 years ago

Not sure why this got closed and I cannot re-open it apparently... Opened: #83 instead

I think you used some magic words in the PR description (mouse over the word "resolve") :smile:

EDIT: I mean, in https://github.com/aws-beam/aws-erlang/pull/61

onno-vos-dev commented 2 years ago

Not sure why this got closed and I cannot re-open it apparently... Opened: #83 instead

I think you used some magic words in the PR description (mouse over the word "resolve") smile

EDIT: I mean, in aws-beam/aws-erlang#61

OMFG today I learned about that magic word... :rofl: Anyway, let's pick up the discussion in #83 :-)