Nick is right. The two URLs:
http://localhost:8080/test?a=b&c=d
http://localhost:8080/#test?a=b&c=d
have _nothing_ but the "origin" part in common. Note that everything after
the `#` is just for the browser, the backend server will never get that. It
won't tell the difference between:
http://localhost:8080/#test?a=b&c=d
and
http://localhost:8080/

Regards,
Witold Szczerba

On Sat, Dec 10, 2016 at 3:06 AM, Nick H <falling.maso...@gmail.com> wrote:

> I would call this not a bug, since it conforms to the URL standard
> <https://url.spec.whatwg.org/#url-syntax>. in your second example,
> ?a=b&c=d is not a query string, but a part of the fragment string.
>
> This is just one of several ways that URL syntax can lead you down a dark
> alley and steal your wallet.
>
> On Fri, Dec 9, 2016 at 5:53 PM, Charlie Koster <ckoste...@gmail.com>
> wrote:
>
>> I submitted an issue
>> <https://github.com/evancz/url-parser/issues/23#issue-194702768> to
>> evancz/url-parser but it ended up being human error on my part. However,
>> I'm making this post because of my closing comment
>> <https://github.com/evancz/url-parser/issues/23#issuecomment-266169129>
>> on that issue.
>>
>> To summarize, I'm using `UrlParser.parseHash` along with
>> `Url.stringParam` and I can't get that parser to work. After some digging I
>> noticed that elm-lang/Navigation is providing me a `Location` that doesn't
>> have a search attribute. Here are two examples.
>>
>> Navigate to http://localhost:8080*/test?a=b&c=d*
>> Logging the Location gives me:
>> { href = "http://localhost:8080/test?a=b&c=d";, host = "localhost:8080",
>> hostname = "localhost", protocol = "http:", origin = "
>> http://localhost:8080";, port_ = "8080", pathname = "/test", search =
>> "?a=b&c=d", hash = "", username = <internal structure>, password = <
>> internal structure> }
>>
>> Notice the search attribute as my query string.
>>
>> Navigate to http://localhost:8080*/#test?a=b&c=d*
>> Logging the Location gives me:
>> { href = "http://localhost:8080/#test?a=b&c=d";, host = "localhost:8080",
>> hostname = "localhost", protocol = "http:", origin = "
>> http://localhost:8080";, port_ = "8080", pathname = "/", search = "",
>> hash = "#test?a=b&c=d", username = <internal structure>, password = <
>> internal structure> }
>>
>> Notice the search attribute is an empty string and the hash attribute
>> contains both the hash and the query string
>>
>> My question to the community.. Is this a bug with elm-lang/Navigation,
>> evancz/url-parser, or not a bug at all because that's how hashes work and I
>> have to deal with this manually?
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Elm Discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to elm-discuss+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Elm Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elm-discuss+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to