I now strongly believe that the TunnelService needs to be off by default.
I've had to go into *every* single class that extends Application and add
this line to my constructor:
getTunnelService().setEnabled(false);
All of my code is now breaking wherever there is a resource with
an extension because getRemainingPart() now returns the path
minus the extension in the last segment. This "magic" mucking
around with the resource reference has cause me no end of troubles.
I'm not really certain why this service needs to be on by default but I
can say with 100% certainty that I don't need it on for *any* of my
applications that use Restlet.
I just want the resource reference as requested by the client.
If we apply the "policy of least surprise" to this, you would think that
advanced features for variants/etc. would need to be enabled so
that, at minimum, without changing any settings, you just get the
URL path for the resource upon which the request was made. That
dictates that:
* unnecessary "filters" should be off by default
* features like the tunnel service should be required to be turned
on
* the resource reference should remain the same regardless of
whether such filters are enabled.
--Alex Milowski