Popularity
3.0
Growing
Activity
5.2
-
13
1
8

Monthly Downloads: 130,595
Programming language: Elixir
License: MIT License
Tags: HTTP    

uri_query alternatives and similar packages

Based on the "HTTP" category.
Alternatively, view uri_query alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of uri_query or a related project?

Add another 'HTTP' Package

README

UriQuery Build Status

URI encode nested GET parameters and array values.

Prepares URI query parameters to be used in URI.encode_query/1 or HTTPoison.get/3

https://hexdocs.pm/uri_query/0.1.1/UriQuery.html

Installation

The package can be installed as:

  1. Add uri_query to your list of dependencies in mix.exs:
def deps do
  [{:uri_query, "~> 0.1.1"}]
end
  1. Ensure uri_query is started before your application:
def application do
  [applications: [:uri_query]]
end

Usage

With list values

iex> UriQuery.params(foo: ["bar", "quux"]) |> URI.encode_query
"foo%5B0%5D=bar&foo%5B1%5D=quux"

iex> UriQuery.params([foo: ["bar", "quux"]], add_indices_to_lists: false) |> URI.encode_query
"foo%5B%5D=bar&foo%5B%5D=quux"

iex> HTTPoison.get("http://example.com", [], params: UriQuery.params(foo: ["bar", "quux"]))

With nested structures (maps or keyword lists)

iex> UriQuery.params(%{user: %{name: "Dougal McGuire", email: "[email protected]"}}) |> URI.encode_query
"user%5Bemail%5D=test%40example.com&user%5Bname%5D=Dougal+McGuire"

iex> params = %{user: %{name: "Dougal McGuire", email: "[email protected]"}} |> UriQuery.params
[{"user[email]", "[email protected]"}, {"user[name]", "Dougal McGuire"}]
iex> HTTPoison.get("http://example.com", [], params: params)

NOTE: Empty lists are ignored

iex> UriQuery.params(foo: []) |> URI.encode_query
""