* 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
* updated packages but build wont work
* #245 implementing more stable rafty
* #245 OK so these raft integration tests are passing everytime on my local mac now...lets see about the build servergit log
* #245 added donation button
* #245 removed file we dont need
* #363 added a test to prove rr lb works, this doesnt have a lock so it isnt perfect, not sure what the tradeoff is between a lock and a bit of randomness, can change to have a lock anytie
* #363 had a look at other oss roudn robin lbs and they all use a lock so imlemented a lock
* #340 started looking at supporting automatic routing when using service discovery
* #340 getting old routing tests to pass
* #340 renamed stuff to provider rather than finder, as its not longer finding anything
* #340 working towards supporting dynamic routing
* #340 loads of refactoring to make configuration work with dynamic routing
* #340 refactor consul config code so the registry class owns it
* #340 default to consul to maintain backwards compat
* #340 added docs, finished this branches todos
* 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
* #330 Fix and issue with the httpclient being cached on the url but not taking the http verb into accont. This caused an issue because if the same url but different verbs had handlers, the incorrect handler would be called
* Amend so that UnableToCompleteRequestError returns 500 rather than 404. This error occur when a delegate handler throws an exception
* Fix test that broke because of the change from 404 to 500 when delegate changes
* messing around with benchmark.net.seems Ocelot adds about 2ms to a request..lets make this less? :)
* #326 store json indented so it looks nice :P
* #327 show another test how request id works
* #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
* #298 initial hacking around better aggregation
* #298 bit more hacking around
* #298 abstraction over httpresponsemessage
* #298 tidying up
* #298 docs
* #298 missed this
* 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
* 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
* #52 test circle ci
* #52 nicked some lads cake script
* #52 put the mac build script back
* #52 trying another lads circle CI thing doesnt use cake
* #52 added test steps
* #52 ports for linux build
* #52 try travis mac build
* #52 dont use build script
* #52 dont use build script
* #52 acceptance and int tests dont really work on mac...v strange?
* #52 unique port for linux tests
* #52 increase code coverage
* #52 try using cake on linux for travis
* #52 try using cake for mac and linux on travis
* #52 dont run the acceptance and int tests on mac
* #52 build.sh has lf line endings
* #52 turns out crlf is OK for cake file..sigh
* #52 not sure what return does in cake so wrapped in if just to see
* #52 try use travis to work not run on mac
* #52 dont need these references
* #52 wrong property
* #52 remove circle ci for linux and just use travis for all
* #268 added waiter to test, altho i wasn't able to replicate flakeyness with wait anyway! Hopefully this will be solid now!
* #268 fixed a warning
* #268 more code coverage
* #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
* squash SA1649 warnings (file/type name mismatch)
* squash SA1127 warnings (generic constraint on own line)
* squash SA1507 warnings (multiple blank lines)
* squash package analysis warnings re: summary text
It's not actually possible to provide a summary right now as per
https://github.com/NuGet/Home/issues/4587
* squash missing castle.core reference warning
* squash obsolete method warnings re: AddOcelotBaseUrl
* #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
* 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