ApiClient - made request pass-in able

A fairly ugly patch for the APIClient, which I'm using to provide json data to angular via the template context.

By default the APIClient modifies the request (for obvious reasons) but I've tried to set it so that DI the request object means that you can use the current request object instead of regenerating it wholly.

is this a totally bad idea?