|
4 | 4 | <%= if context.docstring != "%% @doc" do %><%= context.docstring %><% end %> |
5 | 5 | -module(<%= context.module_name %>). |
6 | 6 |
|
7 | | --export([<%= Enum.map(context.actions, fn(action) -> ["#{action.function_name}/#{action.arity - 1}", "#{action.function_name}/#{action.arity}"] end) |> List.flatten |> Enum.join(",\n ") %>]). |
| 7 | +-export([<%= Enum.map(context.actions, fn(action) -> ["#{action.function_name}/#{action.arity - 3}", "#{action.function_name}/#{action.arity - 1}", "#{action.function_name}/#{action.arity}"] end) |> List.flatten |> Enum.join(",\n ") %>]). |
8 | 8 |
|
9 | 9 | -include_lib("hackney/include/hackney_lib.hrl"). |
10 | 10 |
|
|
13 | 13 | %%==================================================================== |
14 | 14 | <%= for action <- context.actions do %> |
15 | 15 | <%= action.docstring %><%= if action.method == "GET" do %> |
16 | | -<%= action.function_name %>(Client<%= AWS.CodeGen.RestService.function_parameters(action) %>) |
| 16 | +<%= action.function_name %>(Client<%= AWS.CodeGen.RestService.required_function_parameters(action) %>) |
17 | 17 | when is_map(Client) -> |
18 | | - <%= action.function_name %>(Client<%= AWS.CodeGen.RestService.function_parameters(action) %>, []). |
19 | | -<%= action.function_name %>(Client<%= AWS.CodeGen.RestService.function_parameters(action) %>, Options) |
20 | | - when is_map(Client), is_list(Options) -> |
| 18 | + <%= action.function_name %>(Client<%= AWS.CodeGen.RestService.required_function_parameters(action) %>, #{}, #{}). |
| 19 | + |
| 20 | +<%= action.function_name %>(Client<%= AWS.CodeGen.RestService.required_function_parameters(action) %>, QueryMap, HeadersMap) |
| 21 | + when is_map(Client), is_map(QueryMap), is_map(HeadersMap) -> |
| 22 | + <%= action.function_name %>(Client<%= AWS.CodeGen.RestService.required_function_parameters(action) %>, QueryMap, HeadersMap, []). |
| 23 | + |
| 24 | +<%= action.function_name %>(Client<%= AWS.CodeGen.RestService.required_function_parameters(action) %>, QueryMap, HeadersMap, Options) |
| 25 | + when is_map(Client), is_map(QueryMap), is_map(HeadersMap), is_list(Options) -> |
21 | 26 | Path = ["<%= AWS.CodeGen.RestService.Action.url_path(action) %>"], |
22 | 27 | SuccessStatusCode = <%= if is_nil(action.success_status_code), do: "undefined", else: inspect(action.success_status_code) %>, |
23 | 28 | <%= if length(action.request_header_parameters) > 0 do %> |
24 | 29 | Headers0 = |
25 | 30 | [<%= for parameter <- Enum.drop(action.request_header_parameters, -1) do %> |
26 | | - {<<"<%= parameter.location_name %>">>, <%= parameter.code_name %>},<% end %><%= for parameter <- Enum.slice action.request_header_parameters, -1..-1 do %> |
27 | | - {<<"<%= parameter.location_name %>">>, <%= parameter.code_name %>} |
| 31 | + {<<"<%= parameter.location_name %>">>, maps:get(<<"<%= parameter.location_name %>">>, HeadersMap, undefined)},<% end %><%= for parameter <- Enum.slice action.request_header_parameters, -1..-1 do %> |
| 32 | + {<<"<%= parameter.location_name %>">>, maps:get(<<"<%= parameter.location_name %>">>, HeadersMap, undefined)} |
28 | 33 | <% end %>], |
29 | 34 | Headers = [H || {_, V} = H <- Headers0, V =/= undefined], |
30 | 35 | <% else %> |
31 | 36 | Headers = [], |
32 | 37 | <% end %><%= if length(action.query_parameters) > 0 do %> |
33 | 38 | Query0_ = |
34 | 39 | [<%= for parameter <- Enum.drop(action.query_parameters, -1) do %> |
35 | | - {<<"<%= parameter.location_name %>">>, <%= parameter.code_name %>},<% end %><%= for parameter <- Enum.slice action.query_parameters, -1..-1 do %> |
36 | | - {<<"<%= parameter.location_name %>">>, <%= parameter.code_name %>} |
| 40 | + {<<"<%= parameter.location_name %>">>, maps:get(<<"<%= parameter.location_name %>">>, QueryMap, undefined)},<% end %><%= for parameter <- Enum.slice action.query_parameters, -1..-1 do %> |
| 41 | + {<<"<%= parameter.location_name %>">>, maps:get(<<"<%= parameter.location_name %>">>, QueryMap, undefined)} |
37 | 42 | <% end %>], |
38 | 43 | Query_ = [H || {_, V} = H <- Query0_, V =/= undefined], |
39 | 44 | <% else %> |
|
0 commit comments