PR from GCI staging_done branch

Had to do some conflict resolution as well. :|
Definitely wrong! MUST not change current.request. Put extension into URL() instead!