* #580 added failing test
* #580 added failing test for dynamic reroutes
* #580 added failing test for validator
* #580 validation tests passing
* #580 acceptance tests passing
* #580 got rid of the list in sdp factory
* +semver: breaking #580 service discovery provider returned by delegate must be the same as name in config, this is a breaking change because you have to specify consul now
* #580 removed use servide discovery property from file config, we dont need it, just use the service name as indicator the user wants to use service discovery for the given reroute
* #568 Ocelot wont start if QoSOptions specified and no QoS DelegatingHandler registered e.g. no use of Ocelot.Provider.Polly. Also adds a NoQosDelegatingHandler and logs an error if ive missed something and the user can get to making the request
* #568 sadly something wierd with IServiceProvider and FluentValidation so I'm just defaulting to warning and noqosdelegatinghandler if someone doesnt register but provides options, also added basic in memory cache in case people dont use a specific package
* added delegate to select last handler
* #529 implemented a way we can inject the last delegating handler
* wip - moving code
* #529 removed loads of qos code and moved it into Ocelot.Provider.Polly
* #451 started implementing querystring support in templates
* #451 ocelot.json back to normal and specified in docs query string wont work in upstream template
* Revert "#451 ocelot.json back to normal and specified in docs query string wont work in upstream template"
This reverts commit 563193f7b2f78bad6109484fe77f3c87de831005.
* #451 ocelot.json back to normal and specified in docs query string wont work in upstream template
* started messing around with sticky sessions idea
* more tests for sticky session thing
* more faffing cant make up my mind how to do this
* +semver: breaking added sticky session load balancer and changed way load balancer configuration is set by user
* #336 made tests BDDFy
* 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
* 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
* 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