Just some example differences.

iex> Path.join("http://google.com";, "http://example.com";)
"http://google.com/http://example.com";

iex> URI.merge("http://google.com";, "http://example.com";) |> to_string
"http://example.com";

iex> Path.join("http://google.com?a=b";, "?x=y")
"http://google.com?a=b/?x=y";

iex> URI.merge("http://google.com?a=b";, "?x=y") |> to_string
"http://google.com?x=y";

There is an active pull request, please add some comments there if you still 
have some.
https://github.com/elixir-lang/elixir/pull/4644 
<https://github.com/elixir-lang/elixir/pull/4644>

Andrew

> On 19 May 2016, at 07:35, Peter Hamilton <[email protected]> wrote:
> 
> What's missing from Path.join?
> 
> iex(1)> Path.join("http://google.com <http://google.com/>", "/bar")
> "http://google.com/bar <http://google.com/bar>"
> iex(2)> Path.join("http://google.com/ <http://google.com/>", "/bar")
> "http://google.com/bar <http://google.com/bar>"
> iex(3)> Path.join("http://google.com/foo <http://google.com/foo>", "/bar")
> "http://google.com/foo/bar <http://google.com/foo/bar>"
> iex(4)> Path.join("http://google.com/foo <http://google.com/foo>", "bar")
> "http://google.com/foo/bar <http://google.com/foo/bar>"
> 
> If something, the new function should definitely be URI.join
> 
> On Wed, May 18, 2016 at 10:09 PM Andrew Timberlake 
> <[email protected] <mailto:[email protected]>> wrote:
> I’ve made changes picked up from RFC3986 and submitted a pull request, 
> https://github.com/elixir-lang/elixir/pull/4644 
> <https://github.com/elixir-lang/elixir/pull/4644>
> 
> Andrew
>  
>> On 19 May 2016, at 07:03, Andrew Timberlake <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Jon
>> 
>> RFC3986 refers to the process as merging in §5.2
>> “The pseudocode above refers to a "merge" routine for merging a
>>    relative-path reference with the path of the base URI”
>> 
>> But, I’m indifferent about the naming.
>> 
>> Andrew
>> 
>>> On 19 May 2016, at 02:05, Jon Parise <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> A minor piece of feedback, but have you considered naming this URI.join/2?
>>> 
>>> That would be consistent with similar functions in Python 
>>> (urlparse.urljoin) and Ruby (URI.join).
>>> 
>>> On Wed, May 18, 2016 at 12:21 PM, Andrew Timberlake 
>>> <[email protected] <mailto:[email protected]>> wrote:
>>> Example:
>>> 
>>> iex> URI.merge("http://example.com/foo <http://example.com/foo>", "/bar") 
>>> |> to_string
>>> "http://example.com/bar <http://example.com/bar>"
>>> 
>>> iex> URI.parse("http://example.com/foo <http://example.com/foo>") |> 
>>> URI.merge("/bar") |> to_string
>>> "http://example.com/bar <http://example.com/bar>"
>>> 
>>> …and more
>>> 
>>> I have written the code based on RFC2396 §5.2 and would like to send 
>>> through a pull request.
>>> 
>>> Andrew
>>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected] 
>>> <mailto:elixir-lang-core%[email protected]>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/C1FD35C2-B4C6-4701-83AC-F0F1FA656E1D%40andrewtimberlake.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/C1FD35C2-B4C6-4701-83AC-F0F1FA656E1D%40andrewtimberlake.com>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected] 
>>> <mailto:[email protected]>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/CAPdFhdVX1inBx8TV7Q32rDLYetiydfHXk1isBRWn_GkL2erXhA%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAPdFhdVX1inBx8TV7Q32rDLYetiydfHXk1isBRWn_GkL2erXhA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/elixir-lang-core/4AADBC83-0BBB-40DC-A69E-5B09CF32ABB4%40andrewtimberlake.com
>  
> <https://groups.google.com/d/msgid/elixir-lang-core/4AADBC83-0BBB-40DC-A69E-5B09CF32ABB4%40andrewtimberlake.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/elixir-lang-core/CAOMhEnzjo23afXNYZ0ZviJYBmaxMSgJef%3DEsBoXGyq5SFikuPg%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/elixir-lang-core/CAOMhEnzjo23afXNYZ0ZviJYBmaxMSgJef%3DEsBoXGyq5SFikuPg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/42D6B622-294D-4F09-A582-0CADABD5DD88%40andrewtimberlake.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to