Skip to content

Commit d541d27

Browse files
authored
Minor fixess (#186)
* better config interface * fix issue with instance auth
1 parent 3d48cfe commit d541d27

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

lib/ex_aws.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ defmodule ExAws do
2626
@spec request(ExAws.Operation.t) :: term
2727
@spec request(ExAws.Operation.t, Keyword.t) :: {:ok, term} | {:error, term}
2828
def request(op, config_overrides \\ []) do
29-
ExAws.Operation.perform(op, ExAws.Config.build(op.service, config_overrides))
29+
ExAws.Operation.perform(op, ExAws.Config.new(op.service, config_overrides))
3030
end
3131

3232
@doc """
@@ -35,7 +35,7 @@ defmodule ExAws do
3535
@spec stream!(ExAws.Operation.t) :: Enumerable.t
3636
@spec stream!(ExAws.Operation.t, Keyword.t) :: Enumerable.t
3737
def stream!(op, config_overrides \\ []) do
38-
ExAws.Operation.stream!(op, ExAws.Config.build(op.service, config_overrides))
38+
ExAws.Operation.stream!(op, ExAws.Config.new(op.service, config_overrides))
3939
end
4040

4141
@doc """

lib/ex_aws/config.ex

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,6 @@ defmodule ExAws.Config do
1212
:region, :security_token
1313
]
1414

15-
def build(service, opts \\ []) do
16-
overrides = Map.new(opts)
17-
18-
service
19-
|> ExAws.Config.get(overrides)
20-
|> retrieve_runtime_config
21-
|> parse_host_for_region
22-
end
23-
2415
@doc """
2516
Builds a complete set of config for an operation.
2617
@@ -29,7 +20,16 @@ defmodule ExAws.Config do
2920
3) Keys set on the individual service e.g `config :ex_aws, :s3` are merged in
3021
4) Finally, any configuration overrides are merged in
3122
"""
32-
def get(service, overrides) do
23+
def new(service, opts \\ []) do
24+
overrides = Map.new(opts)
25+
26+
service
27+
|> build_base(overrides)
28+
|> retrieve_runtime_config
29+
|> parse_host_for_region
30+
end
31+
32+
def build_base(service, overrides \\ %{}) do
3333
defaults = ExAws.Config.Defaults.get(service)
3434
common_config = Application.get_all_env(:ex_aws) |> Map.new |> Map.take(@common_config)
3535
service_config = Application.get_env(:ex_aws, service, []) |> Map.new

test/lib/ex_aws/config_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ defmodule ExAws.ConfigTest do
55
value = "foo"
66
System.put_env("ExAwsConfigTest", value)
77
assert :s3
8-
|> ExAws.Config.build([access_key_id: {:system, "ExAwsConfigTest"}])
8+
|> ExAws.Config.new([access_key_id: {:system, "ExAwsConfigTest"}])
99
|> Map.get(:access_key_id) == value
1010
end
1111

1212
test "security_token is configured properly" do
1313
value = "security_token"
1414
System.put_env("AWS_SECURITY_TOKEN", value)
1515
assert :s3
16-
|> ExAws.Config.build([access_key_id: {:system, "AWS_SECURITY_TOKEN"}, security_token: {:system, "AWS_SECURITY_TOKEN"}])
16+
|> ExAws.Config.new([access_key_id: {:system, "AWS_SECURITY_TOKEN"}, security_token: {:system, "AWS_SECURITY_TOKEN"}])
1717
|> Map.get(:security_token) == value
1818
end
1919
end

test/lib/ex_aws/s3_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,5 @@ defmodule ExAws.S3Test do
144144
List.keyfind(headers, "X-Amz-Expires", 0)
145145
end
146146

147-
defp config(), do: ExAws.Config.build(:s3, [])
147+
defp config(), do: ExAws.Config.new(:s3, [])
148148
end

0 commit comments

Comments
 (0)