372 Commits

Author SHA1 Message Date
Tom Pallister
6793278597
Feature/sticky sessions (#336)
* 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
2018-04-30 18:55:11 +01:00
Dilsy99
d2432cf7f7 Develop (#338)
* #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
2018-04-30 10:23:02 +01:00
Tom Pallister
e9106c30ee
finally got around to writing some tests for consul file config repo! Should have done these before I wrote it sigh.. 2018-04-26 21:01:51 +01:00
Tom Pallister
5b63f333f7
#262 added working eureka sample (#333) 2018-04-26 09:38:36 +01:00
Dilsy99
027bf6867a #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 (#331) 2018-04-25 16:46:41 +01:00
Tom Pallister
fad190fcae
Feature/extra request id test (#329)
* 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
2018-04-24 08:30:45 +01:00
Tom Pallister
77211e9f16
Feature/store configuraton json idented (#328)
* 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
2018-04-24 08:30:17 +01:00
Tom Pallister
636d116491
#309 allow users to ignore ssl warnings, not sure this is advisable (#325)
* #309 allow users to ignore ssl warnings, not sure this is advisable

* #309 docs for ssl ignore
2018-04-22 12:05:49 +01:00
Tom Pallister
4f061f2b74
Feature/steeltoe (#324)
* #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
2018-04-20 21:28:49 +01:00
Tom Pallister
5e1605882b
Feature/timeout for http client (#319)
* #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
2018-04-18 15:24:16 +01:00
Tom Pallister
aa55fe34cb
Feature/merge configuration files (#316)
* #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
2018-04-17 22:06:41 +01:00
Felix Boers
fa09e4cf7a Support adding custom plaintext headers to downstream requests (#314) 2018-04-14 06:41:12 +01:00
Tom Pallister
a15f75dda8
#298 initial hacking around better aggregation (#310)
* #298 initial hacking around better aggregation

* #298 bit more hacking around

* #298 abstraction over httpresponsemessage

* #298 tidying up

* #298 docs

* #298 missed this
2018-04-12 17:35:04 +01:00
Tom Pallister
982eebfc74
Feature/#295 consul acl (#307)
* 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
2018-04-08 15:54:58 +01:00
Tom Gardham-Pallister
d7ef956935 fixed weird error 2018-04-07 21:55:54 +01:00
Tom Pallister
0073a6f550 Merge branch 'release/5.5.0' 2018-04-07 12:08:35 +01:00
Tom Pallister
efbb950ea2
Feature/another look at logging (#303)
* #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
2018-04-07 12:03:24 +01:00
Tom Gardham-Pallister
6817943b0a Merged into master 2018-04-02 18:15:08 +01:00
Tom Pallister
ec545fadae
Feature/fix tracing (#297)
* 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
2018-04-02 18:12:35 +01:00
Tom Gardham-Pallister
2c4175580f Merge branch 'release-5.3.0' 2018-03-24 09:48:59 +00:00
Tom Pallister
463a7bdab4
Feature/websockets (#273)
* #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!
2018-03-23 18:01:02 +00:00
tangdf
c79f1ecbf8 Middleware Invoke multi parameters (#288) 2018-03-21 06:33:22 +00:00
Tom Pallister
7e43af0126
#289 fix for issue where I was not preserving original query string when more than one query with same name (#290) 2018-03-20 20:48:30 +00:00
Tom Pallister
b51df71d7b
#280 Add headers to response (#286)
* #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
2018-03-18 14:58:39 +00:00
Tom Pallister
0ab670a143
Feature/#52 (#283)
* #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
2018-03-17 18:07:27 +00:00
Tom Pallister
8a2f76d0c5
#268 fix flakey acceptance test (#282)
* #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
2018-03-17 12:54:17 +00:00
Tom Pallister
ed11f3024c
Feature/#274 (#281)
* #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
2018-03-17 11:35:16 +00:00
Simon Jefford
c1b315173f Squash some warnings (#278)
* 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
2018-03-16 17:48:11 +00:00
Tom Pallister
d24df36420
#271 Added some extra logging (#276) 2018-03-14 18:49:41 +00:00
Tom Pallister
fd2c5364fc
#270 exposed ReRoute priority (#272) 2018-03-13 20:31:22 +00:00
Tom Pallister
4c840d40a6
Feature/re route specific handlers (#269)
* #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
2018-03-10 21:02:59 +00:00
Tom Pallister
a31a3ae0fc
Delegating Handlers from container (#266)
* #259 quickly hacked poc for this together, needs tidying up maybe

* #266 +semver: breaking removed adding delegating handler funcs directly...i feel from container is enough
2018-03-09 07:37:37 +00:00
Philip Wood
28cc519341
Merge pull request #261 from binarymash/feature/ReduceBuildWarnings
Feature/reduce build warnings
2018-03-08 20:39:26 +00:00
Tom Pallister
5e9ee1f2ed
#263 map all content specific headers to downstream request content property, make sure we dont map them to request specific headers, added a gzip encoding acceptance test (#267) 2018-03-08 07:32:06 +00:00
Philip Wood
ea95690253 Fix remaining CS0649 violations 2018-03-06 11:13:02 +00:00
Philip Wood
b8e95373a4 Fix async/await warnings 2018-03-06 10:59:01 +00:00
Tom Pallister
db05935b89
updated not supported with reasons why Ocelot doesnt support swagger (#258) 2018-03-05 20:18:58 +00:00
TomPallister
e1325568d2 Merge branch 'develop' into feature/#238-statefull 2018-03-03 17:12:41 +00:00
TomPallister
4a28666a41 #238 support passing statefull service headers to service fabric naming service 2018-03-03 17:05:40 +00:00
Philip Wood
52166b4987 Merge remote-tracking branch 'upstream/release-3.1.8' into feature/AddStyleCopAnalyzers
# Conflicts:
#	src/Ocelot/Configuration/ServiceProviderConfiguration.cs
2018-03-03 16:28:19 +00:00
Tom Pallister
454ba3f9a0
Make Ocelot work with service fabric DNS and naming service for guest exe and stateless (#242)
* 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
2018-03-03 15:24:05 +00:00
Philip Wood
50980fda93 Fix various violations
SA1216, CS0105, CS0169, CS0414, CS0649
2018-03-03 14:08:52 +00:00
Philip Wood
a64e263a26 Fix file names to match class names
SA1649
2018-03-03 13:48:30 +00:00
Philip Wood
c7dbfc044f Fix else statement spacing
SA1510
2018-03-03 13:36:09 +00:00
Philip Wood
b18c8e5f2b Fix single-line comment spacing
SA1512, SA1515
2018-03-03 13:34:19 +00:00
Philip Wood
f24c0a0510 Fix multiple statements on single line
SA1107
2018-03-03 13:29:05 +00:00
Philip Wood
167fbb3daf Remove multiple concurrent blank lines
SA1507
2018-03-03 13:26:27 +00:00
Philip Wood
edbed051de Remove blank lines at start/end of files
SA1517, SA1518
2018-03-03 13:16:26 +00:00
Philip Wood
c61dc9fd11 Fix brace line spacing and remove multiple concurrent whitespace characters
SA1025, SA1505, SA1508, SA-1509, SA1513
2018-03-03 13:14:24 +00:00
Philip Wood
28a41b21a4 Merge remote-tracking branch 'upstream/develop' into feature/AddStyleCopAnalyzers
# Conflicts:
#	test/Ocelot.AcceptanceTests/Ocelot.AcceptanceTests.csproj
#	test/Ocelot.Benchmarks/Ocelot.Benchmarks.csproj
2018-03-03 12:33:04 +00:00