Commit Graph

317 Commits

Author SHA1 Message Date
af3c39da6a Addressing issue #559 (Infinite configuration file growth when ASPNETCORE_ENVIRONMENT is defined)
Made IHostingEnvironment optional for AddOcelot() to avoid breaking change.
2018-08-18 04:29:21 +04:00
8f4ae03290 Added support for query string parameters in upstream path template (#467) 2018-07-12 19:26:23 +01:00
26ef3faa11 upgraded packages to netcoreapp2.1 Ocelot is still netstandard2.0 (#455)
* upgraded packages to netcoreapp2.1 Ocelot is still netstandard2.0

* try get latest sdk travis

* try get specific sdk travis
2018-07-11 06:28:08 +01:00
75f9a8f9be #451 started implementing querystring support in templates (#459)
* #451 started implementing querystring support in templates

* #451 ocelot.json back to normal and specified in docs query string wont work in upstream template

* Revert "#451 ocelot.json back to normal and specified in docs query string wont work in upstream template"

This reverts commit 563193f7b2f78bad6109484fe77f3c87de831005.

* #451 ocelot.json back to normal and specified in docs query string wont work in upstream template
2018-07-10 18:00:17 +01:00
c8b72f31b5 #438 removed singleton delegating handlers as you cannot have these (#456) 2018-07-09 08:08:39 +01:00
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
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
9db4273f18 Fix catch all route on UpstreamTemplatePatternCreator regex to match everything (#407) (#411) 2018-06-22 16:35:21 +01:00
b60d26e1c6 Feature/few tweaks (#422)
* #419 Incorrect routing when UpstreamHost is specified and UpstreamHttpMethod is empty

* few tweaks to make seperate test as I got confused having one...there is too much setup in these tests

* added another test case for route matching

* set cake coveralls addin to v0.0.7 so build works...
2018-06-22 07:01:10 +01:00
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
fffc4c8d3c #419 Incorrect routing when UpstreamHost is specified and UpstreamHttpMethod is empty (#420) 2018-06-20 22:41:00 +01:00
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
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
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
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
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
32a258fd3f Upgrade Pivotal.Discovery.Client to Pivotal.Discovery.ClientCore (#369) 2018-05-22 07:13:45 +01:00
f96adf9583 #349 always get all the services when using no loadbalancer (#362) 2018-05-17 07:46:01 +01:00
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
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
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
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
b1641e003c netstandard2.0 support 2018-05-10 16:12:36 -07:00
e32823c58b Merge branch 'feature/fix-unstable-raft-tests' into develop 2018-05-09 18:41:11 +01:00
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
54c7464919 change to firm up consul tests 2018-05-07 08:25:16 +01:00
a2c7fda4c9 test should be at least once 2018-05-06 18:43:24 +01:00
b536a88dca sorted sticky session cookie tests 2018-05-05 15:42:26 +01:00
fb3af754ab implemented a send to self pattern for sticky session timeouts rather than a normal timer 2018-05-05 13:43:38 +01:00
c041d90e38 more messing with send ot self 2018-05-05 12:53:19 +01:00
17a515c4c0 sticking send messages toself in to make this testable 2018-05-05 10:38:47 +01:00
4c405f0f29 revert 2018-05-03 23:00:40 +01:00
da0dd68502 another quick hack to work this out 2018-05-03 22:49:44 +01:00
334d4bf368 another quick hack to work this out 2018-05-03 22:32:07 +01:00
e57b72173e changes to make test more stable 2018-05-03 22:06:08 +01:00
2f8d857731 pass expiry period into cookie thing to make this more testable 2018-05-03 21:34:22 +01:00
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
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
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
5b63f333f7 #262 added working eureka sample (#333) 2018-04-26 09:38:36 +01:00
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
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
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
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
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
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
fa09e4cf7a Support adding custom plaintext headers to downstream requests (#314) 2018-04-14 06:41:12 +01:00
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
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
d7ef956935 fixed weird error 2018-04-07 21:55:54 +01:00