* #574 consolidate some code, man the config stuff is a mess!
* #574 just use the downstream re route and the key for caching http clients
* #574 added benchmark, i was suprised to learn using a complex type was faster than a string in benchmark .net dictionary tests, hey ho probably dont have enough data in the type...
* Made the file config poller use IHostedService, bit more generic, not just need to provide the correct implementations of the repo services and it will poll anything..this means we can open up redis for #458
* removed comments
* #458 allow users to set rate limits per service for dynamic re routes
* #458 added docs for rate limting on dynamic reroutes
* #428 dont use dynamic routing unless service discovery provider explictly set and log that we are going to use dynamic info
* #428 fixed tests that were failing due to not maintaining backwards compat with config for service discovery
* #419 Incorrect routing when UpstreamHost is specified and UpstreamHttpMethod is empty
* few tweaks to make seperate test as I got confused having one...there is too much setup in these tests
* added another test case for route matching
* set cake coveralls addin to v0.0.7 so build works...
* #340 started looking at supporting automatic routing when using service discovery
* #340 getting old routing tests to pass
* #340 renamed stuff to provider rather than finder, as its not longer finding anything
* #340 working towards supporting dynamic routing
* #340 loads of refactoring to make configuration work with dynamic routing
* #340 refactor consul config code so the registry class owns it
* #340 default to consul to maintain backwards compat
* #340 added docs, finished this branches todos
* #296 renamed configuration.json to ocelot.json in preparation
* removed things we dont need for tests
* another file we dont need
* removed some async we dont need
* refactoring to consolidate configuration code
* removed another pointless abstraction
* #296 started writing merge code
* #296 coming up with ideas for this config merging
* #296 still hacking this idea around
* #296 will now do a crappy merge on the configuration
* #296 change so tests pass on windows
* started messing around with this on the train last night
* mega hacking away to change middleware into Ocelot iddleware
* scoped data repo back in
* broken commit getting tests working
* another broken commit farting around with tests
* all unit tests passing again
* mw pipeline for ocelot...still loads of hacks but getting there now to get acceptance tests working, then fix config so you can have aggregate and then imlement multiplexer, then mapping to response...loads to do
* all tests passing before aggregation feature implemented
* removed all the request middleware stuff we dont need it
* updated how errors work...tho i think there could be edge case here when aggregating because one downstream could error and this would effect another
* removed multiplexer so you dont have to send route down, this isnt very thread safe...sigh
* hacking around getting the config for aggregates in, this might change
* refactored builder and unit tests passing now
* Updated a bunch of ports for tests
* plugged in code to create reroutes that are aggregates
* made multiplexer a class
* hacked test to death
* simple aggregator done, initial validation done
* removed request id from context, it is still specific for http request
* now aggregates to json always
* docs for aggregate reroutes
* Updated docs
* from messing around at lunch...initial hacking seems to sort of work..need to think of all the test scenarios
* drunken train hacking
* docs for upstreamhost
* hacked together load balancing reroutes in fileconfig
* some renaming and refactoring
* more renames
* hacked away the old config json
* test for issue 213
* renamed key
* dont share ports
* oops
* updated docs
* mvoed docs around
* port being used
* hacking around to work out why logging and request id isnt working
* pass request id into logger so it can be structured, removed a bunch of debug logging we dont need because diagnostic trace gets it
* changed config dependency
* always have tracing available
* made it so we dont need to pass config into services.AddOcelot anymore with .net core 2.0
* add test
* lots of changes relating to logging and request ids, also updated documentation
* fixed failing test i missed
* removed code where we add a trailing slash as this means if we request /1.txt/ instead of /1.txt then some servers will not return the resource at /1.txt. After reading up it seems if you dont have a trailing slash then its a file, if you do then its a resource
* test for 145
* removed unused code
* fix broken build..my bad