Packages
ex_aws
1.0.0-rc.4
2.7.0
2.6.1
2.6.0
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.1
1.0.0-beta3
1.0.0-beta2
1.0.0-beta1
1.0.0-beta0
0.5.0
0.4.19
0.4.18
0.4.17
0.4.15
0.4.14
0.4.13
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
AWS client for Elixir. Currently supports Dynamo, DynamoStreams, EC2, Firehose, Kinesis, KMS, Lambda, RRDS, Route53, S3, SES, SNS, SQS, STS and others.
Current section
Files
Jump to
Current section
Files
lib/ex_aws/operation/rest_query.ex
defmodule ExAws.Operation.RestQuery do
defstruct [
http_method: nil,
path: "/",
params: %{},
service: nil,
]
@type t :: %__MODULE__{}
end
defimpl ExAws.Operation, for: ExAws.Operation.RestQuery do
def perform(operation, config) do
query = operation.params
|> URI.encode_query
headers = [
{"content-type", "application/x-www-form-urlencoded"},
]
ExAws.Request.request(operation.http_method, url(config, operation.path), query, headers, config, operation.service)
end
def stream!(%{stream_builder: fun}, config) do
fun.(config)
end
def url(%{scheme: scheme, host: host, port: port}, queue_name) do
[
scheme,
host,
port |> port(),
queue_name
] |> IO.iodata_to_binary
end
defp port(80), do: ""
defp port(p), do: ":#{p}"
end