Skip to content

Commit 88f11b0

Browse files
authored
Merge pull request #177 from aws-beam/respect-aws_endpoint_url
Respect aws endpoint url
2 parents 86f91bc + 951fed3 commit 88f11b0

427 files changed

Lines changed: 1633 additions & 1377 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

rebar.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{erl_opts, [nowarn_unused_type, debug_info, {d, maps_support}]}.
22
{deps, [{hackney, "1.25.0"},
33
{jsx, "3.0.0"},
4-
{aws_beam_core, "1.1.1"}
5-
]}.
4+
{aws_beam_core, "1.2.0"}
5+
]}.
66
{project_plugins, [rebar3_hex, rebar3_ex_doc, rebar3_check_app_calls]}.
77
{hex, [{doc, #{provider => ex_doc}}]}.
88

rebar.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{"1.2.0",
2-
[{<<"aws_beam_core">>,{pkg,<<"aws_beam_core">>,<<"1.1.1">>},0},
2+
[{<<"aws_beam_core">>,{pkg,<<"aws_beam_core">>,<<"1.2.0">>},0},
33
{<<"aws_credentials">>,{pkg,<<"aws_credentials">>,<<"1.0.3">>},1},
44
{<<"aws_signature">>,{pkg,<<"aws_signature">>,<<"0.4.2">>},1},
55
{<<"certifi">>,{pkg,<<"certifi">>,<<"2.15.0">>},1},
@@ -15,7 +15,7 @@
1515
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.7.1">>},1}]}.
1616
[
1717
{pkg_hash,[
18-
{<<"aws_beam_core">>, <<"3D70444AE1F1A31E3F7FAC2BE5826258CA9BB1C05D054D58251B6C0B3B429775">>},
18+
{<<"aws_beam_core">>, <<"EA9C7289EEEE2C42F97E4208D7447DF2074084C2E000F3F2B132FF6DB626D56F">>},
1919
{<<"aws_credentials">>, <<"7CDAA99D0ED11C3B93A5F80E5673969F1E4379EDBB4907EB13D161CF2DE0826E">>},
2020
{<<"aws_signature">>, <<"1B35482C89FF5B91F5EAD647A2BBC0D9620877479B44800915DE92BACF9F1476">>},
2121
{<<"certifi">>, <<"0E6E882FCDAAA0A5A9F2B3DB55B1394DBA07E8D6D9BCAD08318FB604C6839712">>},
@@ -30,7 +30,7 @@
3030
{<<"ssl_verify_fun">>, <<"354C321CF377240C7B8716899E182CE4890C5938111A1296ADD3EC74CF1715DF">>},
3131
{<<"unicode_util_compat">>, <<"A48703A25C170EEDADCA83B11E88985AF08D35F37C6F664D6DCFB106A97782FC">>}]},
3232
{pkg_hash_ext,[
33-
{<<"aws_beam_core">>, <<"3B73C54B0831F82915EF47E230FF18E86A47045DBDCD3BC5B33A4DFC355DF5D6">>},
33+
{<<"aws_beam_core">>, <<"C61C637B9AFDCB01AE00BCB881C477F8C0BE1B27C28A5C6BB886CD029C91466D">>},
3434
{<<"aws_credentials">>, <<"D3ACC14D953C7F00BF544FE81A3A8D9C30C073A7526EA3CC2D6220D9468FF6D3">>},
3535
{<<"aws_signature">>, <<"1DF4A2D1DFF200C7BDFA8F9F935EFC71A51273ADFC6DD39A9F2CC937E01BAA01">>},
3636
{<<"certifi">>, <<"B147ED22CE71D72EAFDAD94F055165C1C182F61A2FF49DF28BCC71D1D5B94A60">>},

src/aws_accessanalyzer.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3341,9 +3341,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
33413341

33423342
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
33433343
Client1 = Client#{service => <<"access-analyzer">>},
3344-
Host = build_host(<<"access-analyzer">>, Client1),
3345-
URL0 = build_url(Host, Path, Client1),
3346-
URL = aws_request:add_query(URL0, Query),
3344+
DefaultHost = build_host(<<"access-analyzer">>, Client1),
3345+
URL0 = build_url(DefaultHost, Path, Client1),
3346+
PathBin = erlang:iolist_to_binary(Path),
3347+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_ACCESSANALYZER">>),
3348+
URL = aws_request:add_query(URL1, Query),
33473349
AdditionalHeaders1 = [ {<<"Host">>, Host}
33483350
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
33493351
],
@@ -3427,7 +3429,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
34273429
<<"localhost">>;
34283430
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
34293431
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
3430-
34313432
build_url(Host, Path0, Client) ->
34323433
Proto = aws_client:proto(Client),
34333434
Path = erlang:iolist_to_binary(Path0),

src/aws_account.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,9 +1041,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
10411041
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
10421042
Client1 = Client#{service => <<"account">>,
10431043
region => <<"us-east-1">>},
1044-
Host = build_host(<<"account">>, Client1),
1045-
URL0 = build_url(Host, Path, Client1),
1046-
URL = aws_request:add_query(URL0, Query),
1044+
DefaultHost = build_host(<<"account">>, Client1),
1045+
URL0 = build_url(DefaultHost, Path, Client1),
1046+
PathBin = erlang:iolist_to_binary(Path),
1047+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_ACCOUNT">>),
1048+
URL = aws_request:add_query(URL1, Query),
10471049
AdditionalHeaders1 = [ {<<"Host">>, Host}
10481050
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
10491051
],
@@ -1127,7 +1129,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
11271129
<<"localhost">>;
11281130
build_host(EndpointPrefix, #{endpoint := Endpoint}) ->
11291131
aws_util:binary_join([EndpointPrefix, Endpoint], <<".">>).
1130-
11311132
build_url(Host, Path0, Client) ->
11321133
Proto = aws_client:proto(Client),
11331134
Path = erlang:iolist_to_binary(Path0),

src/aws_acm.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,8 +1211,8 @@ request(Client, Action, Input, Options) ->
12111211

12121212
do_request(Client, Action, Input0, Options) ->
12131213
Client1 = Client#{service => <<"acm">>},
1214-
Host = build_host(<<"acm">>, Client1),
1215-
URL = build_url(Host, Client1),
1214+
DefaultHost = build_host(<<"acm">>, Client1),
1215+
{URL, Host} = aws_util:apply_endpoint_url_override(build_url(DefaultHost, Client1), DefaultHost, <<"/">>, <<"AWS_ENDPOINT_URL_AWS_ACM">>),
12161216
Headers = [
12171217
{<<"Host">>, Host},
12181218
{<<"Content-Type">>, <<"application/x-amz-json-1.1">>},

src/aws_acm_pca.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1799,8 +1799,8 @@ request(Client, Action, Input, Options) ->
17991799

18001800
do_request(Client, Action, Input0, Options) ->
18011801
Client1 = Client#{service => <<"acm-pca">>},
1802-
Host = build_host(<<"acm-pca">>, Client1),
1803-
URL = build_url(Host, Client1),
1802+
DefaultHost = build_host(<<"acm-pca">>, Client1),
1803+
{URL, Host} = aws_util:apply_endpoint_url_override(build_url(DefaultHost, Client1), DefaultHost, <<"/">>, <<"AWS_ENDPOINT_URL_AWS_ACM_PCA">>),
18041804
Headers = [
18051805
{<<"Host">>, Host},
18061806
{<<"Content-Type">>, <<"application/x-amz-json-1.1">>},

src/aws_aiops.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -844,9 +844,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
844844

845845
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
846846
Client1 = Client#{service => <<"aiops">>},
847-
Host = build_host(<<"aiops">>, Client1),
848-
URL0 = build_url(Host, Path, Client1),
849-
URL = aws_request:add_query(URL0, Query),
847+
DefaultHost = build_host(<<"aiops">>, Client1),
848+
URL0 = build_url(DefaultHost, Path, Client1),
849+
PathBin = erlang:iolist_to_binary(Path),
850+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_AIOPS">>),
851+
URL = aws_request:add_query(URL1, Query),
850852
AdditionalHeaders1 = [ {<<"Host">>, Host}
851853
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
852854
],
@@ -930,7 +932,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
930932
<<"localhost">>;
931933
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
932934
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
933-
934935
build_url(Host, Path0, Client) ->
935936
Proto = aws_client:proto(Client),
936937
Path = erlang:iolist_to_binary(Path0),

src/aws_amp.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3232,9 +3232,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
32323232

32333233
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
32343234
Client1 = Client#{service => <<"aps">>},
3235-
Host = build_host(<<"aps">>, Client1),
3236-
URL0 = build_url(Host, Path, Client1),
3237-
URL = aws_request:add_query(URL0, Query),
3235+
DefaultHost = build_host(<<"aps">>, Client1),
3236+
URL0 = build_url(DefaultHost, Path, Client1),
3237+
PathBin = erlang:iolist_to_binary(Path),
3238+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_AMP">>),
3239+
URL = aws_request:add_query(URL1, Query),
32383240
AdditionalHeaders1 = [ {<<"Host">>, Host}
32393241
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
32403242
],
@@ -3318,7 +3320,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
33183320
<<"localhost">>;
33193321
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
33203322
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
3321-
33223323
build_url(Host, Path0, Client) ->
33233324
Proto = aws_client:proto(Client),
33243325
Path = erlang:iolist_to_binary(Path0),

src/aws_amplify.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2673,9 +2673,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
26732673

26742674
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
26752675
Client1 = Client#{service => <<"amplify">>},
2676-
Host = build_host(<<"amplify">>, Client1),
2677-
URL0 = build_url(Host, Path, Client1),
2678-
URL = aws_request:add_query(URL0, Query),
2676+
DefaultHost = build_host(<<"amplify">>, Client1),
2677+
URL0 = build_url(DefaultHost, Path, Client1),
2678+
PathBin = erlang:iolist_to_binary(Path),
2679+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_AMPLIFY">>),
2680+
URL = aws_request:add_query(URL1, Query),
26792681
AdditionalHeaders1 = [ {<<"Host">>, Host}
26802682
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
26812683
],
@@ -2759,7 +2761,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
27592761
<<"localhost">>;
27602762
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
27612763
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
2762-
27632764
build_url(Host, Path0, Client) ->
27642765
Proto = aws_client:proto(Client),
27652766
Path = erlang:iolist_to_binary(Path0),

src/aws_amplifybackend.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2253,9 +2253,11 @@ request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode
22532253

22542254
do_request(Client, Method, Path, Query, Headers0, Input, Options, SuccessStatusCode) ->
22552255
Client1 = Client#{service => <<"amplifybackend">>},
2256-
Host = build_host(<<"amplifybackend">>, Client1),
2257-
URL0 = build_url(Host, Path, Client1),
2258-
URL = aws_request:add_query(URL0, Query),
2256+
DefaultHost = build_host(<<"amplifybackend">>, Client1),
2257+
URL0 = build_url(DefaultHost, Path, Client1),
2258+
PathBin = erlang:iolist_to_binary(Path),
2259+
{URL1, Host} = aws_util:apply_endpoint_url_override(URL0, DefaultHost, PathBin, <<"AWS_ENDPOINT_URL_AWS_AMPLIFYBACKEND">>),
2260+
URL = aws_request:add_query(URL1, Query),
22592261
AdditionalHeaders1 = [ {<<"Host">>, Host}
22602262
, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}
22612263
],
@@ -2339,7 +2341,6 @@ build_host(_EndpointPrefix, #{region := <<"local">>}) ->
23392341
<<"localhost">>;
23402342
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
23412343
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
2342-
23432344
build_url(Host, Path0, Client) ->
23442345
Proto = aws_client:proto(Client),
23452346
Path = erlang:iolist_to_binary(Path0),

0 commit comments

Comments
 (0)