astery

astery

http://elixir-lang.org/docs/stable/elixir/URI.html#encode_query/1

# current behaviour
iex> URI.encode_query(%{"some" => ["one", "two"]})
** (ArgumentError) encode_query/1 values cannot be lists, got: ["one", "two"]

# expected behaviour
iex> URI.encode_query(%{"some" => ["one", "two"]})
"some[]=one&some[]=two"

Why lists are forbidden in this method?

Showing Posts 1 to 9

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

The URI spec does not actually specify that pattern.

OvermindDL1

OvermindDL1

It is a pattern that Phoenix decodes though, and I do agree that URI.encode_query should not support it, but supporting it ‘somewhere’ in phoenix would be useful (maybe in View?). I’ve built up an encode_query that supports that in the Phoenix format in my project.

dimitarvp

dimitarvp

What would a Phoenix decode btw? And what would have to be sent?

I am looking for a way to pass a list in a URI query parameter and can’t find how to do it with Phoenix yet.

OvermindDL1

OvermindDL1

I’d think you should be able to just do https://fhdjsa/fdsj/fdsh?somelist[]=1;somelist[]=2;somelist[]=3 or something like that?

dimitarvp

dimitarvp

iex(1)> URI.decode_query "somelist[]=1;somelist[]=2;somelist[]=3"
%{"somelist[]" => "1;somelist[]=2;somelist[]=3"}

iex(2)> URI.decode_query "somelist[]=1&somelist[]=2&somelist[]=3"
%{"somelist[]" => "3"}
gregvaughn

gregvaughn

iex(2)> Plug.Conn.Query.encode(%{a: [1,2,3]})
"a[]=1&a[]=2&a[]=3"
iex(3)> Plug.Conn.Query.decode(v())
%{"a" => ["1", "2", "3"]}
dimitarvp

dimitarvp

Leave it to my tired self trying to figure out a problem past midnight.

Apologies for making a very rookie mistake!

gregvaughn

gregvaughn

:grin: I knew I had answered this before and searched to find it

No apology necessary. I know what it’s like to be coding late and/or uncaffeinated :grin:

dimitarvp

dimitarvp

Thanks for double-shaming me! :003:

Yeah, I should just go watch a movie and do that on a more fresh head. Thanks a lot. Really. :023:

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews