You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I'm not mistaken, that URL gets parsed correctly by url.Parse. It's just that the URL itself is not correctly escaped, so it doesn't produce the results you want.
Let's use url.URL.String method to construct a URL with "http" schema, "admin" username, "ZOSOKjgV/kgEkN0bzPJp+oGeJLqpXykqWFJpon/Ckg" password, and "localhost:38607" host:
Notably, the original "ZOSOKjgV/kgEkN0bzPJp+oGeJLqpXykqWFJpon/Ckg" password is preserved.
So, I believe as long as the URL is correctly escaped, the logic added in #39 isn't needed and can be reverted. That would simplify the code. What do you think @opalmer?
The text was updated successfully, but these errors were encountered:
Agreed with @andygrunwald, nice catch! I'm all for simplifying the code and would support a PR to fix this too.
Last I remember there are some specific tests that will need to be updated or removed to reflect the change you're making. You probably should also consider adding some tests specifically to make sure that http basic auth works properly with your change.
Thanks for describing the problem in great detail in PR #39 @opalmer.
I suspect there may be a much simpler fix, which I'd like to discuss. Consider this comment:
go-gerrit/gerrit.go
Lines 101 to 104 in 70bbb05
If I'm not mistaken, that URL gets parsed correctly by
url.Parse
. It's just that the URL itself is not correctly escaped, so it doesn't produce the results you want.Let's use
url.URL.String
method to construct a URL with "http" schema, "admin" username, "ZOSOKjgV/kgEkN0bzPJp+oGeJLqpXykqWFJpon/Ckg" password, and "localhost:38607" host:(See on playground: https://play.golang.org/p/M3cq7xWI2eE.)
Note that the
/
character in the password gets escaped to%2F
.When we parse that URL with
url.Parse
, it produces the expected results:(See on playground: https://play.golang.org/p/01GMpYMMzsw.)
Notably, the original "ZOSOKjgV/kgEkN0bzPJp+oGeJLqpXykqWFJpon/Ckg" password is preserved.
So, I believe as long as the URL is correctly escaped, the logic added in #39 isn't needed and can be reverted. That would simplify the code. What do you think @opalmer?
The text was updated successfully, but these errors were encountered: