Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Stefan Adams
On Wed, Oct 31, 2018 at 9:34 PM Sylvain Thibault wrote: > As suggested, here is a working solution using a Role::Tiny role to > modify/override Mojo::Parameters::to_string so that it does not escape the > caret '^' character. > Feel free to comment/criticize. > That looks terrific to me and

[Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Sylvain Thibault
As suggested, here is a working solution using a Role::Tiny role to modify/override Mojo::Parameters::to_string so that it does not escape the caret '^' character. Feel free to comment/criticize. Thank you all for your valuable input, this was enlightening. use Mojo::UserAgent; use FindBin

[Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Sylvain Thibault
As suggested, here is a working solution using a Role::Tiny role to modify Mojo::Parameters::to_string so that it does not escape the caret '^' character. Feel free to comment/criticize. Thank you all for you valuable input, this was enlightening. use Mojo::UserAgent; use FindBin qw($Bin); use

[Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Sylvain Thibault
Can somebody describe with a little more detail how one would go about using a role to modify Mojo::Parameters::to_string and using it with something like $tx->req->url->query->with_roles('+Unescaped') ? I am looking at Joel Berger's blog post:

Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Stefan Adams
On Wed, Oct 31, 2018 at 12:19 PM Dan Book wrote: > Mojo::Collection and Mojo::File are not hash-based objects so they cannot > use Mojo::Base, thus they implement with_roles themselves. Mojo::Base based > objects all say "inherits all methods from Mojo::Base" or a subclass of > that. > This is

Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Stefan Adams
On Wed, Oct 31, 2018 at 10:48 AM sri wrote: > Poking into internals usually means one day you'll get what you asked for, >> but if there is no other way... >> > > Yes, that is a very dangerous hack, a more sane approach would be to use a > Role::Tiny role modifying > Mojo::Parameters::to_string

Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread sri
> > I do not know of a non-ugly way either but if you are okay with a hacky > and possibly fragile solution you might get away with adding: > > $ua->on(start => sub { >my ($ua, $tx) = @_; >$tx->req->{'start_buffer'} =~ s/([&?]s=)%5E/$1^/o; > }); > > Poking into internals usually means

Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Sylvain Thibault
Thank you Heiko, This works for me. This case is definitely an outlier. On Wednesday, October 31, 2018 at 5:09:43 AM UTC-6, Heiko Jansen wrote: > > I do not know of a non-ugly way either but if you are okay with a hacky > and possibly fragile solution you might get away with adding: > >

Re: [Mojolicious] Re: Mojo::UserAgent URL with caret '^' not encoded

2018-10-31 Thread Heiko Jansen
I do not know of a non-ugly way either but if you are okay with a hacky and possibly fragile solution you might get away with adding: $ua->on(start => sub { my ($ua, $tx) = @_; $tx->req->{'start_buffer'} =~ s/([&?]s=)%5E/$1^/o; }); Poking into internals usually means one day you'll get