597 Commits

Author SHA1 Message Date
Tom Pallister
c8b72f31b5
#438 removed singleton delegating handlers as you cannot have these (#456) 2018-07-09 08:08:39 +01:00
Tom Pallister
a419ed68dc
#398 refactored MemoryHttpClientCache to stop it holding onto references (#448) 2018-07-08 15:09:16 +01:00
Tom Pallister
d604badd49
test to show returning 304 works (#450) 2018-07-08 15:02:35 +01:00
Tom Pallister
a87bc92c60
Feature/test for #441 (#444)
* #441 added a test for this change

* #441 bit of tidying up and fixing of erros
2018-07-01 08:56:06 +01:00
Tom Gardham-Pallister
2832cb1bf4 Merge branch 'master' into develop 2018-06-29 19:03:55 +01:00
liuyuedeyv
ddbfd44125 Update HttpClientBuilder.cs (#442)
if get the httpclient from cache,when the save method called ,it can not to save the right httpclient;
2018-06-29 19:02:35 +01:00
Tom Pallister
0f7aaa097d
dont use dynamic routing unless service discovery provider explictly set and log that we are going to use dynamic info (#437)
* #428 dont use dynamic routing unless service discovery provider explictly set and log that we are going to use dynamic info

* #428 fixed tests that were failing due to not maintaining backwards compat with config for service discovery
2018-06-27 18:15:04 +01:00
Marco Antonio Araujo
9db4273f18 Fix catch all route on UpstreamTemplatePatternCreator regex to match everything (#407) (#411) 2018-06-22 16:35:21 +01:00
Tom Pallister
3eb9b4da89
Feature/fix admin api caching wrong re routes (#421)
* #383 added failing test for this issue

* #383 identified issue was with cached load balancer for a given upstream path template based on the key we use, have modified this to include more data, I guess this might be an issue again for other things so I will have a think about it

* #383 fixed failing tests after key change

* Seems to be an issue with coveralls new package not being on nuget...try same version as their nuget package

* bash the old manual tests json back in
2018-06-21 22:45:24 +01:00
David Nissimoff
fffc4c8d3c #419 Incorrect routing when UpstreamHost is specified and UpstreamHttpMethod is empty (#420) 2018-06-20 22:41:00 +01:00
Tom Pallister
e636cefdb1
check which version of .net framework before creating http handler (#412)
* #405 needto check which version of .net we are using but cannot use compiler directives

* #405 started puttig abstraction around static method to get frameworks so we can test this logic

* #405 added test for all methods and tidied up tests

* #405 made contains as ms docs are wrong, thanks to davidni for the heads up
2018-06-20 20:44:38 +01:00
Ni Yanwei
347303ee7b 修改查找ocelot配置文件正则表达式中的问题 (#410)
正则表达式"(?i)ocelot.([a-zA-Z0-9]*).json",“ocelot.”中的“.”能匹配除"\n"外的任意字符;".json"原因是匹配json文件,但实际能匹配任何"*.json*"文件
2018-06-17 19:25:45 +01:00
Tom Pallister
8e1a5ce827
Feature/dont validate cached content headers (#406)
* #372 use period timespan to decide when client can make requests again

* #400 dont validate cached body headers
2018-06-15 20:30:25 +01:00
Tom Pallister
9979f8a4b8
#372 use period timespan to decide when client can make requests again (#404) 2018-06-15 20:29:49 +01:00
Marco Antonio Araujo
87c13bd9b4 Add ability to specify whether to UseProxy or not on ReRoutes (#390) (#391)
* Add ability to specify whether to UseProxy or not on ReRoutes (#390)

* Remove useProxy default value from HttpHandlerOptions constructor
2018-06-12 08:08:25 +03:00
Tom Pallister
0f2a9c1d0d
Feature/poll consul (#392)
* 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
2018-06-12 00:58:08 +03:00
Tom Gardham-Pallister
14308ff5fb added ignore code coverage to experimental sqllitelog class that cannot be unit tested anyway really 2018-06-11 22:57:43 +01:00
Alex Kuriatnyk
095406bd45 Fix incorrect response StatusCode for middleware added before Ocelot (#380) 2018-06-11 22:23:45 +03:00
Tom Pallister
7cd3ff2ff7
Feature/fix unstable int tests (#376)
* 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
2018-05-31 22:08:50 +01:00
Tom Gardham-Pallister
e55b27de0f bit of refactoring 2018-05-24 22:56:08 +01:00
Tom Gardham-Pallister
900c18908f Merge branch 'master' into develop 2018-05-24 22:40:31 +01:00
Tsirkin Evgeny
34598f4edf made http client work under full .net 46 (#367)
* made http client work under full .net 46

* Changed the way the requests without body are checked & comments

* fixed a type
2018-05-24 22:39:27 +01:00
Catcher Wong
32a258fd3f Upgrade Pivotal.Discovery.Client to Pivotal.Discovery.ClientCore (#369) 2018-05-22 07:13:45 +01:00
Tom Pallister
d01720c349
#363 added a test to prove rr lb works, this doesnt have a lock so it… (#365)
* #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
2018-05-21 18:46:39 +01:00
Tom Pallister
f96adf9583
#349 always get all the services when using no loadbalancer (#362) 2018-05-17 07:46:01 +01:00
Tom Pallister
a55c75efdc
decided to stick a basic cache in for downstream route creator, can make fancy if required (#359) 2018-05-15 20:39:15 +01:00
Tom Pallister
061a90f1dd
#349 default to no load balancer so that in load balaner house we dont always rebuild the loadbalancer infrastructure because the load balancer options type is null (#358) 2018-05-15 18:29:35 +01:00
Tom Pallister
1e2e953b2c
Feature/automatic routes with sd (#351)
* #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
2018-05-14 21:26:10 +01:00
Tom Pallister
1823c832a6 +semver: major merged netstandard2.0 upgrade and updated all packages. Also had to change identity server test due to scope deduping and put a few awaits in. 2018-05-11 07:59:03 +01:00
David Nissimoff
b1641e003c netstandard2.0 support 2018-05-10 16:12:36 -07:00
Tom Gardham-Pallister
e32823c58b Merge branch 'feature/fix-unstable-raft-tests' into develop 2018-05-09 18:41:11 +01:00
Tom Gardham-Pallister
22fc8668af hacking around 2018-05-08 22:57:59 +01:00
Tom Pallister
4e17190b3f
Feature/service discovery config key (#347)
* #346 make service discoery config key configurable

* #346 missed this test

* #346 updated docs
2018-05-08 21:18:38 +01:00
Tom Pallister
54c7464919 change to firm up consul tests 2018-05-07 08:25:16 +01:00
Tom Pallister
fb3af754ab implemented a send to self pattern for sticky session timeouts rather than a normal timer 2018-05-05 13:43:38 +01:00
Tom Gardham-Pallister
c041d90e38 more messing with send ot self 2018-05-05 12:53:19 +01:00
Tom Gardham-Pallister
17a515c4c0 sticking send messages toself in to make this testable 2018-05-05 10:38:47 +01:00
Tom Gardham-Pallister
4c405f0f29 revert 2018-05-03 23:00:40 +01:00
Tom Gardham-Pallister
2f8d857731 pass expiry period into cookie thing to make this more testable 2018-05-03 21:34:22 +01:00
Tom Gardham-Pallister
003fff8b24 #245 hacked these tests around and they are now passing 5 runs in a row on my mac, lets see on build server 2018-05-01 22:07:56 +01:00
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
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
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
2b8c905a26 #296 remembered how to regex 2018-04-18 08:27:23 +01:00
Tom Pallister
e94df4749c #296 change so tests pass on windows 2018-04-17 21:51:41 +01:00