Packages
ndc_ex_sdk
0.2.30
0.2.30
0.2.29
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
This is an Elixir package that wrapps any NDC-compliant API. It's host-agnostic and quite flexible-through-configuration so that it can reach NDC hosts with a certain flexibility
Current section
Files
Jump to
Current section
Files
lib/message/ndc_merge.ex
defmodule NDCMerge do
def build_body do
end
def get_method_headers(generic_h, method_h) when is_nil(method_h), do: generic_h
def get_method_headers(generic_h, method_h), do: generic_h ++ method_h
def get_headers(headers, method) do
Enum.map(headers, fn ({key, value}) ->
{key, String.replace(value, "{{NDC-method}}", Atom.to_string(method))}
end)
end
def get_headers_consumer(headers, consumer) when is_nil(consumer), do: headers
def get_headers_consumer(headers, consumer), do: headers ++ consumer
def merge_body(data, priority_data) when is_nil(priority_data), do: priority_data
def merge_body(data, priority_data), do: data ++ priority_data
def is_ssl(config, provider) when config == nil or provider == nil, do: [timeout: 60000, recv_timeout: 60000]
def is_ssl(ssl_config, provider) when ssl_config != nil do
static_dir = Application.fetch_env!(:ndc_ex_gateway, :static_dir)
path = static_dir <> String.upcase(provider) <> "/keys/"
[
hackney: [ # :hackney options
ssl_options: [ # :ssl options
cacertfile: path <> ssl_config[:cacertfile], # CA certificate used to validate server cert; path(), "string" is ok
certfile: path <> ssl_config[:certfile], # client certificate, signed by CA; path(), "string" is ok
keyfile: path <> ssl_config[:keyfile], # private key for client.crt; path(). "string" is ok
password: ssl_config[:password] # password for keyfile; string(), "string" not ok, use 'char list'
]
],
timeout: 60000, recv_timeout: 60000
]
end
end