* #264 added handlers to config
* #264 added global handlers object and defaut param for method, not sure this is correct api for users yet
* #264 Can now add all sorts of delegating handlers in all sorts of ways
* +semver: breaking #264
* test for issue
* added service fabric sample
* working!!
* changed sample naming to Ocelot
* removed files we dont need
* removed files we dont need
* updated sample gitignore
* updated sample gitignore
* getting ocelot to work with service fabric using the reverse proxy
* #238 - added support for service fabric discovery provider, proxies requests through naming service, wont work on partioned service fabric services yet
* #238 - Manually tested service fabric using sample..all seems OK. Made some changes after testing, added docs
* #238 - added docs for servic fabric
* 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
* 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.