urlesc: github.com/PuerkitoBio/urlesc Index | Files

package urlesc

import "github.com/PuerkitoBio/urlesc"

Package urlesc implements query escaping as per RFC 3986. It contains some parts of the net/url package, modified so as to allow some reserved characters incorrectly escaped by net/url. See https://github.com/golang/go/issues/5684

Index

Package Files

urlesc.go

func Escape Uses

func Escape(u *url.URL) string

Escape reassembles the URL into a valid URL string. The general form of the result is one of:

scheme:opaque
scheme://userinfo@host/path?query#fragment

If u.Opaque is non-empty, String uses the first form; otherwise it uses the second form.

In the second form, the following rules apply:

- if u.Scheme is empty, scheme: is omitted.
- if u.User is nil, userinfo@ is omitted.
- if u.Host is empty, host/ is omitted.
- if u.Scheme and u.Host are empty and u.User is nil,
   the entire scheme://userinfo@host/ is omitted.
- if u.Host is non-empty and u.Path begins with a /,
   the form host/path does not add its own /.
- if u.RawQuery is empty, ?query is omitted.
- if u.Fragment is empty, #fragment is omitted.

func QueryEscape Uses

func QueryEscape(s string) string

QueryEscape escapes the string so it can be safely placed inside a URL query.

Package urlesc imports 3 packages (graph) and is imported by 3 packages. Updated 2017-08-14. Refresh now. Tools for package owners.