* breaking upgrade base build image to net5.0
* add make and build tools to image
* fix code broken after net5.0 upgrade
* fix warnings
* fix tests and line endings
* upgrade dotnet test and coverages packages
* update circle build image
* removed rafty and updated more packages
* bring back develop
* rename authorisation to authorization
* Make rate-limiting client whitelist dynamic
* Refactor `RateLimitOptions.ClientWhiteList`
* Fix typo in variable `enbleRateLimiting`
* Fix case in variable `clientIdheader`
author Taiwo Otubamowo <totubamowo@deloitte.co.uk>
* fix 1045
* #492 log 500 with error log level, acceptance test, unit test
* #492 minor changes
* initial commit for new feature #1077
allow to limit the number of concurrent tcp connection to a downstream service
* protect code against value not in accurate range
add unit test
* Do not crash host on Dispose
* Add test
* Pin GitVersion.CommandLine package version
* #683 validate if there are duplicated placeholders in UpstreamPathTemplate
* Use registered scheme from Eureka (#1087)
* extra test
* very brief mention MaxConnectionsPerServer in docs
* build develop like a PR
* more docs
* test
Co-authored-by: Taiwo O. <44668623+totubamowo@users.noreply.github.com>
Co-authored-by: Catcher Wong <catcher_hwq@outlook.com>
Co-authored-by: jlukawska <56401969+jlukawska@users.noreply.github.com>
Co-authored-by: buretjph <58700930+buretjph@users.noreply.github.com>
Co-authored-by: Jonathan Mezach <jonathanmezach@gmail.com>
Co-authored-by: 彭伟 <pengweiqhca@sina.com>
* copied everything from repos back to ocelot repo
* added src projects to sln
* removed all test projects that have no tests
* added all test projects to sln
* removed test not on master
* merged unit tests
* merged acceptance tests
* merged integration tests
* fixed namepaces
* build script creates packages for all projects
* updated docs to make sure no references to external repos that we will remove
* +semver: breaking
* #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...
* #464 added code to request mapper to not automatically add content type and content length headers, .net will automatically try and add these headers in a few circumstances but this solves the 464 issue
* #464 use seek instead of read on body check for websockets tests
* #464 ran out of inodes on linux, looks like reloadonchange causes this
* WIP - implement a consul service discovery poller, lots of shared code with existing, refactor next and a todo in the docs to finish
* #374 implement polling for consul as option
* #374 updated docs to remove todo
* #374 fixed failing unit test
* #374 fixed failing unit test
* #374 fixed failing acceptance test
* 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
* #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
* #298 initial hacking around better aggregation
* #298 bit more hacking around
* #298 abstraction over httpresponsemessage
* #298 tidying up
* #298 docs
* #298 missed this
* #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
* stuck a warning in about logging levels into docs!
* #280 can now add response headers inc trace id, now need to consolidate the header place holder stuff
* #280 changed port for linux tests
* #280 lots of hacking around to handle errors and consolidate placeholders into one class
* #274 added acceptance tests, need to work out failing unit tests but probably going to be a redesign where we hold a reference to the cookie container and empty it if needed
* #274 updated code coverage value
* #274 offloaded cache logic to builder in preparation for adding state
* #274 hacked something together but this is not right approach
* #274 updated defaults and docs
* #274 updated code coverage
* #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
* 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