Project

General

Profile

Bug #6696

[PATCH] ERB::Util.url_encode should not escape unreserved characters

Added by madeofcode (Mark Dodwell) about 8 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.2]
[ruby-core:46168]

Description

ERB::Util.url_encode is escaping tilde (~) where it should not according to the RFC.

This fixes that behaviour so that it now correctly avoids escaping all unreserved characters as per RFC 3986, Section 2.3:
http://tools.ietf.org/html/rfc3986#section-2.3

Fwiw., this is also how the Perl implementation works:
http://search.cpan.org/dist/URI/URI/Escape.pm#DESCRIPTION

I opened this issue originally on Github, but I think it warrants further discussion, so re-opening here.


Files

erb_util_url_encode_rfc_fix.patch (1.46 KB) erb_util_url_encode_rfc_fix.patch madeofcode (Mark Dodwell), 07/04/2012 05:03 PM

Also available in: Atom PDF