472 Commits

Author SHA1 Message Date
Phil Proctor
ac211886f1 Dockerfile build (#727)
* Added Dockerfile run configuration and fixed manual test project to run appropriately

* Finished updates for Docker build and management of project through docker commands. Any of the dotnet CLI commands accessible through 'builder' container and default run is manual test project

* Added a docker-compose.yaml files to support commands: docker-compose run tests, docker-compose run benchmarks, docker-compose run manual-test
2018-12-26 08:30:59 -08:00
thiago.azevedo
8b930d10b2 Updated MemoryCache package from 2.1.1 to 2.1.2 to fix build issue 2018-11-29 12:11:36 +01:00
thiago.azevedo
adbe7a0227 Fixed Microsoft.AspNetCore.All version for security purposes 2018-11-29 12:05:27 +01:00
Tom Gardham-Pallister
65b4115e90 made benchmark work 2018-09-25 21:02:13 +01:00
Tom Pallister
2d834037e4
removed dep we dont need in dsrfm (#636) 2018-09-25 20:33:31 +01:00
Tom Pallister
dc28d49bda
Feature/rename middleware (#637)
* #630 only set status code if response hasnt started, otherwise exception

* #623 made {RemoteIpAddress} available as placeholder so you can do x-forwarded-for

* #623 local address different on mac, windows and linux for integration test

* renamed some middlewares so they make more sense

* add downstreamroutefindermiddleware benchmark
2018-09-25 20:25:38 +01:00
阿凌
4a8f4c2e03 add a security module (#628) (#629)
* Add security mechanisms, IP whitelists, blacklists, and extended security interfaces.

* Optimized configuration name

* Fix IP Security Bug

* Repair Security Protection Module Bug

* Add security module unit test

* Optimize log prompts
2018-09-25 18:29:38 +01:00
Tom Pallister
aa14b2f877
Feature/#623 (#632)
* #630 only set status code if response hasnt started, otherwise exception

* #623 made {RemoteIpAddress} available as placeholder so you can do x-forwarded-for

* #623 local address different on mac, windows and linux for integration test
2018-09-24 08:22:44 +01:00
Ariel Moraes
54cdc74293 #633 ignore OPTIONS requests on AuthenticationMiddleware (#634) 2018-09-24 07:55:52 +01:00
Tom Gardham-Pallister
dcc3f0deae #559 +semver: breaking always use environment when working out AddOcelot on builder 2018-09-20 18:33:00 +01:00
Tom Gardham-Pallister
7c0aa6f97e Merge branch 'feature/config_grow_when_merged' of https://github.com/snb83/Ocelot into snb83-feature/config_grow_when_merged 2018-09-20 18:19:46 +01:00
Tom Pallister
388b1fad90
#604 set use qos based on what we have in docs (#627) 2018-09-20 08:04:15 +01:00
Tom Pallister
669ece07b2
Feature/proxy reason phrase (#618)
* #599 started work to proxy reason phrase

* #599 test for aggregator
2018-09-12 19:48:56 +01:00
Tom Pallister
44f8e312a8
Feature/refactoring internal config creation stack (#600)
* tidy up some code so I can understand it

* broke al the things that make config out into their own classes etc..sigh

* fix the things i broked

* #597 test for issue, works on this branch :E

* #597 removed comments

* added tests for new load balancer creator..basic

* added tests for lb creator and aggregates creator

* added tests for config creator

* boiler plate for tests

* added dynamics tests

* wip

* finished refactoring for now
2018-09-11 21:41:58 +01:00
Rwing
b491bd50a8 fix typo, DownstreamDownstreamPathTemplate => DownstreamPathTemplate (#601) 2018-09-11 21:02:03 +01:00
Tom Pallister
a5c1839ed7
Feature/adding some re route specific validation tests (#590)
* started refactoring json config validation stack because ive made it crap

* inject validators from DI rather than instanciating, next step mock them

* added some unit tests for specific validators on the train yey
2018-09-04 22:27:54 +01:00
Tom Pallister
ef6db657b7
#593 instanciate upstream path template when dynamic routing for logging (#594) 2018-09-03 21:31:57 +01:00
Tom Pallister
6198404697
##591 added addanddelete method back to cache as Ocelot.Provider.Consul uses it...sigh at me (#592) 2018-09-03 07:58:22 +01:00
Tom Pallister
66b68fc685
Feature/#574 look at httpclient cache key (#589)
* #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...
2018-09-01 13:10:45 +01:00
Tom Pallister
55277cac45
Feature/should not start if specified using service discovery but no provider registered (#584)
* #580 added failing test

* #580 added failing test for dynamic reroutes

* #580 added failing test for validator

* #580 validation tests passing

* #580 acceptance tests passing

* #580 got rid of the list in sdp factory

* +semver: breaking #580 service discovery provider returned by delegate must be the same as name in config, this is a breaking change because you have to specify consul now

* #580 removed use servide discovery property from file config, we dont need it, just use the service name as indicator the user wants to use service discovery for the given reroute
2018-08-31 18:28:43 +01:00
Tom Pallister
29a7af9486
#568 worked out how to check if qos handler present and kill Ocelot i… (#578)
* #568 worked out how to check if qos handler present and kill Ocelot if options specified but no handler, need to refactor this into fluent validation style

* #568 acceptance tests to make sure Ocelot won't start if the user specifies QoSOptions but doesnt have a QoSHandler registered
2018-08-28 18:57:21 +01:00
Tom Pallister
8db5570840
Feature/fix #568 (#576)
* #568 Ocelot wont start if QoSOptions specified and no QoS DelegatingHandler registered e.g. no use of Ocelot.Provider.Polly. Also adds a NoQosDelegatingHandler and logs an error if ive missed something and the user can get to making the request

* #568 sadly something wierd with IServiceProvider and FluentValidation so I'm just defaulting to warning and noqosdelegatinghandler if someone doesnt register but provides options, also added basic in memory cache in case people dont use a specific package
2018-08-27 17:47:45 +01:00
Tom Gardham-Pallister
e257d82abf Revert "make sure files are copied for manual tests, was not working"
This reverts commit 6f9811cb1ba3235a6cd18406510458384597f340.
2018-08-26 12:38:42 +01:00
Tom Gardham-Pallister
6f9811cb1b make sure files are copied for manual tests, was not working 2018-08-26 11:56:18 +01:00
Tom Pallister
369fc5b7a4
#555 added some tests for this issue but struggling to replicate (#570)
* #555 added some tests for this issue but struggling to replicate

* #555 removed cmd=instance from service fabric code as someone who knows service fabric says its not needed
I

* #555 renamed test
2018-08-25 12:33:49 +01:00
Tom Pallister
b0bdeb9402
#534 fixed failing tests for this issue (#575) 2018-08-25 12:32:56 +01:00
Tom Pallister
00a600064d
Feature/issue with path and query string #458 (#565)
* #548 added failing test

* #548 fixed failing tests for issue where using /{everything} didnt build path correctly
2018-08-20 22:28:58 +01:00
Tom Pallister
6d8b18c01d
Feature/inject error mapper (#562)
* added delegate to select last handler

* #529 implemented a way we can inject the last delegating handler

* wip - moving code

* #529 removed loads of qos code and moved it into Ocelot.Provider.Polly

* #529 can now inject http client expcetions to ocelot errors mappers and updated docs
2018-08-19 12:57:43 +01:00
Tom Pallister
98ba0271be
Feature/move polly (#561)
* added delegate to select last handler

* #529 implemented a way we can inject the last delegating handler

* wip - moving code

* #529 removed loads of qos code and moved it into Ocelot.Provider.Polly
2018-08-19 10:14:15 +01:00
Sergey Borodachev
3f784d7949 Merge branch 'develop' into feature/config_grow_when_merged
# Conflicts:
#	src/Ocelot/DependencyInjection/ConfigurationBuilderExtensions.cs
#	test/Ocelot.UnitTests/DependencyInjection/ConfigurationBuilderExtensionsTests.cs
2018-08-18 05:11:35 +04:00
Sergey Borodachev
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
Tom Pallister
18ded25b0e
Feature/remove id server (#551)
* removed idserver4

* some files I missed removing
2018-08-14 18:39:18 +01:00
Tom Pallister
0786614e50
removed idserver4 (#547) 2018-08-14 08:19:00 +01:00
Tom Pallister
cbd0af6d75
#529 removed raft (#543) 2018-08-12 22:12:59 +05:30
Tom Pallister
34afefced6
Feature/remove pivotal (#541)
* #529 removed eureka client

* #529 removed some unused code
2018-08-12 19:44:08 +05:30
Tom Pallister
87348e5d1b
Feature/removed consul and its deps to other package (#539)
* #529 removed consul deps and introduced delegate to find service discovery provider

* +semver: breaking moved consul configuration to package..introduced mechanism for packages to configure Ocelot pipeline
2018-08-12 17:28:41 +05:30
Tom Pallister
a91235b405
#529 removed consul deps and introduced delegate to find service discovery provider (#538) 2018-08-12 14:46:46 +05:30
Tom Pallister
d4b65198f3
#529 removed cache manager specific code (#535) 2018-08-11 18:21:07 +05:30
Marcelo Castagna
ad8025df1b Reload config on change (#527)
* Reload config on change.
Added test case.

* added testing for adding the json with reloadOnChange = false
2018-08-04 08:17:31 +01:00
Tom Pallister
37fb32b7f5
broke out butterfly into seperate project (#521)
* broke out butterfly into seperate project

* nearly did it...

* updated docs as I have broken the butterfly code off into a seperate dll
2018-08-03 08:11:47 +01:00
Tom Pallister
43ad065e4a
#500 validate that there is an address in consul service, also made this clear in docs (#520) 2018-07-31 21:21:46 +01:00
Tom Pallister
b854ca63ce
use a stream rather than byte array in responder (#519) 2018-07-31 19:21:12 +01:00
Tom Pallister
29ff0045fe
removed null admin path hack (#513) 2018-07-30 23:15:03 +01:00
Tom Pallister
049731b43b
removed fake service tracer (#511)
* removed fake service tracer

* removed comments
2018-07-30 22:44:07 +01:00
Tom Pallister
b0a20d13b9
Feature/more dynamic routes (#508)
* Made the file config poller use IHostedService, bit more generic, not just need to provide the correct implementations of the repo services and it will poll anything..this means we can open up redis for #458

* removed comments

* #458 allow users to set rate limits per service for dynamic re routes

* #458 added docs for rate limting on dynamic reroutes
2018-07-29 20:32:45 +01:00
Tom Pallister
0f2cf2d188
Made the file config poller use IHostedService, bit more generic, not… (#507)
* Made the file config poller use IHostedService, bit more generic, not just need to provide the correct implementations of the repo services and it will poll anything..this means we can open up redis for #458

* removed comments
2018-07-29 18:23:49 +01:00
Tom Pallister
1817564ea5
Feature/fix #463 (#506)
* #463 save both files

* #463 made it so we dont save to disk on startup unless using admin api
2018-07-27 23:13:22 +01:00
Tom Pallister
d186f0e1b6
#490 use byte content not stream (#498) 2018-07-25 08:34:58 +01:00
Tom Pallister
600732651b
Ive made the acceptance tests share the same builder in an effort to duplicate the linux port in use issue I have when running acceptance tests...seems to have been some use...now to test in CI (#486) 2018-07-21 11:24:05 +01:00
Tom Pallister
079ec0f365
#474 tests to show how spaces in headers work (#483) 2018-07-21 00:10:06 +01:00