* 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
* 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
* New feature that lets a user do find and replace on an upstream header
* can transform downstream and upstream headers, not sure if interface is good
* can replace location header with placeholder
* added some syntax
* 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
* change config creator to not throw exception in there is an error......lord i hate this config creator code I need to sort it out.
* Remove method that we are not using anymore..
* throw exception and add errors to message
* train hacking and some refactoring
* bs test for code coverage
* actually return the errors in the exception
* Initial draft for the issue 147 fix
* Added unit tests for scenarios for getting and setting file configuration if the environment name is unavailable.
* 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
* moving things around to see if I can get consul to store fileconfiguration rather than ocelotconfiguration
* more refactoring to see if we can get a test for the feature
* acceptance test passing for updating in consul..need to sort object comparison out
* fixed the failing tests
As part of #35 we are we are standardising on using IOcelotLoggerFactory
over the default ILogger for DI purposes. Following a sln search, the use
of ILogger was only found in one place (FileOcelotConfigurationCreator)
and it's corresponding tests.
This commit changes them and ensures the unit tests still pass.