Skip to content

Escape quotes and backslashes HTTP::Request::Common [rt.cpan.org #51492] #66

Open
@oalders

Description

@oalders

Migrated from rt.cpan.org#51492 (status was 'open')

Requestors:

From [email protected] on 2009-11-13 09:16:08:

Hi,

on line 126 of HTTP::Request::Common:

$k =~ s/([\\\"])/\\$1/g;  # escape quotes and backslashes

for some reasons I want to disable escaping of quotes.

Is that possible? Maybe with a global variable like

$HTTP::Request::Common::ESCAPEQUOTES=0;

Cheers,
Jonny

From [email protected] on 2009-12-01 08:35:51:

From my duplicate ticket #52312, here's a reason why people would want
to not have backslashes escaped:

I'm using LWP::UserAgent to send requests to a custom server-side
service. LWP::UserAgent uses HTTP::Request internally, which uses
HTTP::Request::Common to process requests. HTTP::Request::Common has a
line of code that makes sending plain '\n' in requests just not possible:
$k =~ s/([\\\"])/\\$1/g; # escape quotes and backslashes

I want to be able to send "\n" in a form value, but I can't because of
the above line. This means that even if I have a parameter "paths" with
"/img/blah.png\n/img/blah2.png", HTTP::Request::Common happily converts
the '\n' to '\\n', changing "paths" to be "/img/blah.png\\n/img/blah2.png".

I think I should be able to send "\n" in a form value.

I can write a small test script if it's needed...

From [email protected] on 2009-12-01 09:47:23:

Okay, then some words about my concern.

My reason is that I send a post request to a HTTP-Server (ticket 
system). The data within the post request are used to generate a email. 
If the text contains quotation marks

Foo bar "foo baz" foo bar.

then the mail text contains backslashes

Foo bar \"foo baz\" foo bar.

for this reason I want to disable quoting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions