Consider the following:
url u1( "/index%2Ehtm" );
url u2( "/path/to/file%2Etxt" );
segments_ref ps1 = u1.segments();
segments_ref Type ps2 = u2.segments();
ps1 = p2;
What should the contents of ps1 be? Well, operator= is documented with this effect:
ps1.assign( ps2.begin(), p2.end() );
Iterating ps2 will produce decoded segments, so ps1 will end up with
{ "path", "to", "file.txt" }
Note how "file.txt" has the escape removed. This behavior is technically correct according to our specification but is this the right thing to do?
Consider the following:
What should the contents of ps1 be? Well,
operator=is documented with this effect:Iterating ps2 will produce decoded segments, so ps1 will end up with
Note how "file.txt" has the escape removed. This behavior is technically correct according to our specification but is this the right thing to do?