Skip to content

Commit 36b4ea3

Browse files
authored
Merge pull request #163 from aws-beam/expand-aws_request-sign_request-with-optional-encode-option
Add aws_request:sign_request/6 to allow individually generated modules from overriding the uri_encode_path option
2 parents 103d20e + f18d797 commit 36b4ea3

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/aws_request.erl

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
, method_to_binary/1
88
, request/2
99
, sign_request/5
10+
, sign_request/6
1011
]).
1112

1213
-include_lib("hackney/include/hackney_lib.hrl").
@@ -23,6 +24,9 @@ request(RequestFun, Options) ->
2324
%% Generate headers with an AWS signature version 4 for the specified
2425
%% request.
2526
sign_request(Client, Method, URL, Headers0, Body) ->
27+
sign_request(Client, Method, URL, Headers0, Body, [{uri_encode_path, false}]).
28+
29+
sign_request(Client, Method, URL, Headers0, Body, Options) ->
2630
AccessKeyID = aws_client:access_key_id(Client),
2731
SecretAccessKey = aws_client:secret_access_key(Client),
2832
Region = aws_client:region(Client),
@@ -32,7 +36,7 @@ sign_request(Client, Method, URL, Headers0, Body) ->
3236
undefined -> Headers0;
3337
_ -> [{<<"X-Amz-Security-Token">>, Token}|Headers0]
3438
end,
35-
aws_signature:sign_v4(AccessKeyID, SecretAccessKey, Region, Service, calendar:universal_time(), Method, URL, Headers, Body, [{uri_encode_path, false}]).
39+
aws_signature:sign_v4(AccessKeyID, SecretAccessKey, Region, Service, calendar:universal_time(), Method, URL, Headers, Body, Options).
3640

3741
%% @doc Include additions only if they don't already exist in the provided list.
3842
add_headers([], Headers) ->

0 commit comments

Comments
 (0)