* #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
* #405 needto check which version of .net we are using but cannot use compiler directives
* #405 started puttig abstraction around static method to get frameworks so we can test this logic
* #405 added test for all methods and tidied up tests
* #405 made contains as ms docs are wrong, thanks to davidni for the heads up
* #262 - Integrated Steeltoe Service Discovery with Ocelot for review.
* messing around
* seems to be working with eureka
* acceptance test passing with external lib references
* #262 support for netflix eureka service discovery thanks to pivotal
* #262 fixed warnings
* #318 http client obeys Qos timeout or defaults to 90 seconds, which is think is default for http client anyway but zero docs....
* #318 updated docs to specify default timeout and make it clear how to set it on a ReRoute basis
* #318 missed this
* #318 missed this
* #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
* removed file
* updated package
* updated package
* updated package
* updated package
* updated package
* updated package
* updated package
* all packages updated
* #295 can add token to service provider config and this will be used by consul clients to get services and configuration
* #295 wait longer for this test
* #212 - hacked websockets proxy together
* faffing around
* #212 hacking away :(
* #212 websockets proxy middleware working
* #212 map when for webockets working
* #212 some test refactor
* #212 temp commit
* #212 websockets proxy working, tests passing...need to do some tidying and write docs
* #212 more code coverage
* #212 docs for websockets
* #212 updated readme
* #212 tidying up after websockets refactoring
* #212 tidying up after websockets refactoring
* #212 tidying up after websockets refactoring
* changing logging levels and logging like ms reccomends with structured data rather than strings
* more faffing
* more fafin
* #287 ocelot logger now only takes strings as it did take params then just turned them to strings, misleading, unit tests for logger and diagnosticlogger
* #287 errors now logged as they happen
* #287 more detail for logs requested in issue
* #287 tidy up
* #287 renamed
* #287 always log context id
* #287 fixed me being an idiot
* #287 removed crap websockets unit test that isnt a unit test
* #287 removed crap websockets unit test that isnt a unit test
* hacked together tracing fix by wrapping middleware delegate in another delegate
* #227 have re-implemented tracing, cleaned up trace names, probably still need some refactoring and tests as this was a bit of a hack job
* #227 bit of checking for when we dont want to use tracing, also removed a unit test for websockets that wasnt a unit test, i stuck it there because i wanted the code coverage and now im paying the price, will have to work out a better way to do it
* #227 a bit of refactoring to make this work better, still a bit hacky...would like to revisit the whole thing one day
* #227 dont need this
* #227 or this
* #227 small refactor
* failing test
* failing test but needs real butterfly server running..need to fix that...also worked out ive broken tracing...yey
* brought in butterfly source code so i can work out how to write acceptance tests for this...
* fixed the bug but still need to fix tracing
* tracing working again across services but need to make tracing hook into new Ocelot middleware as it still uses asp.net middleware
* removed butterfly libs brought in for testing
* 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
* initial commits around using any id servers
* add your own id server for admin area
* lots of refactoring, now instead of injecting IWebHostBuilder we just set the Ocelot base url as a configuration extension method..this means people can pass it in on the command line aswell as hardcode which is OK I guess, also can now use your own IdentityServer to authenticate admin area
* updated docs for #231
* some tests that hopefully bump up coverage
* temp commit
* trying to work out how to expose the http handlers in a decent way..
* pissing about at lunch
* changed to func so you can instanciate object or new it up each time
* docs for dele handlers
* upgraded to sdk 2.1.4
* some validation for consul services
* feat: use Https://github.com/ButterflyAPM to monitor each API request monitoring metrics
* feat: using DiagnosticSource and Butterfly.OpenTracing
* refactor:refactor Ocelot tracing, merge code into OcelotDiagnosticListener
* refactor: move OcelotHttpTracingHandler to Requester
* fix: Requester\HttpClientBuilder.cs(10,14): error CS0234: The type or namespace name 'Tracing' does not exist in the namespace
* feat: add test should_set_up_tracing
* feat : Remove extraneous code
* feat: remove unused DiagnosticSource diagnostic
* fix : test UseTracing
* add test should_call_scoped_data_repository_QosProviderError
* add test should_return_any_errors
* add test HttpClientHttpRequesterTest
* it should keep it can not be deleted
* 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
* brought in rafty
* moved raft classes into Ocelot and deleted from int project
* started to set up rafty in Ocelot
* RAFTY INSIDE OCELOT...WOOT
* more work adding rafty...just need to get auth working now
* rudimentary authenticated raft requests working
* asyn await stuff
* hacked rafty into the fileconfigurationcontroller...everything seems to be working roughly but I have a lot of refactoring to do
* updated to latest rafty that doesnt need an id
* hacky but all tests passing
* changed admin area set up to use builder not configuration.json, changed admin area auth to use client credentials
* missing code coverage
* ignore raft sectionf for code coverage
* ignore raft sectionf for code coverage
* back to normal filters
* try exclude attr
* missed these
* moved client secret to builder for authentication and updated docs
* lock to try and fix error accessing identity server created temprsa file on build server
* updated postman scripts and changed Ocelot to not always use type handling as this looked crap when manually accessing the configuration endpoint
* added rafty docs
* changes I missed
* added serialisation code we need for rafty to process commands when they proxy to leader
* moved controllers into their feature slices