You and that mop! But this was a slight oversimplification given GET doesn't have data and PUT and POST do... I'll work up a version that hopefully ticks your DRYer request.