Tymon Tobolski

Results 130 comments of Tymon Tobolski

Just FYI - I did some PoC some time ago how could Tesla look like if it was based on Plug.Conn (and reusing as much of Plug as possible) and...

@feld Would you like to implement it?

Both adapters use `Tesla.build_url(env.url, env.query)`, I'll need to investigate this further.

`httpc` is weird... ```elixir :httpc.request(:get, {'https://***.com?a=x$y', []}, [], []) # a=x$y :httpc.request(:get, {'https://***.com?a=x%24y', []}, [], []) # a=x%24y :httpc.request(:get, {'https://***.com?a=x%y', []}, [], []) # a=x%y :httpc.request(:get, {'https://***.com?a=x%25y', []}, [], [])...

Looks like [ERL-636](https://bugs.erlang.org/browse/ERL-636) ``` iex(12)> :uri_string.normalize('x%y') 'x%y' iex(13)> :uri_string.normalize('x%25y') 'x%y' iex(14)> :uri_string.normalize('x$y') 'x$y' iex(15)> :uri_string.normalize('x%24y') 'x%24y' ```

Surprisingly, with erlang 22.1.7 & elixir 1.9.4-otp-22 I see the exact same behaviour.

Regardless of adapter backend (stateless or not) it would require passing some kind of client identifier, which should be configurable. Consider this two client: ``` def client1(url), do: Tesla.client([{BaseUrl, url}])...

This would break the user-friendly API, it's also not trivial to use in the (not only) webapp context as you don't have a good place to store `client` for future...

Hey @aselder, do you still want to give this a try? :)

I assume you mean [this tape wiki entry](https://github.com/teamon/tesla/wiki/Cookbook%3A-Record-and-reply-requests-%28tape%2C-vcr%29). This is really just a small example - to make it really robust and usable it would require some work, especially configuration...