Skip to content

net/url: escaping parenthesis #9677

@DAddYE

Description

@DAddYE

Hi all!

I have a question, the package URL implements the RFC 3986 although if I read it correctly in section 2.2 it says about reserved chars:

      reserved    = gen-delims / sub-delims

      gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

      sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="

However, checking the source of the current go implementation

I don't see the '(' and ')' part of reserved.

So this is causing some problems when I do http.Get() with urls that contains parens because they get escaped from http://example.com/fit-in/236x345/filters:quality(90):fill(ffffff) into http://example.com/fit-in/236x345/filters:quality%2890%29:fill%28ffffff%29 and the web server seems doesn't like it.

P.s. note that I'm not the author of these kind of urls nor able to upgrade the web-server to a recent version that probably could be able to unescape the path again.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions