Commit Graph

919 Commits

Author SHA1 Message Date
35253025c7 Added the possibility to manage the placeholders from outside ocelot (#724) 2019-01-03 05:55:23 -08:00
9bbb6364f2 Checkin for caching the template matching for significant route finder performance improvements (#728) 2018-12-26 17:05:20 -03:00
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
3c4808a1eb Indent doc properly (#713)
Hi,

The sentence wasn't on the same indentation level. I was surprised when reading the sentence in the doc. Here is my little help on that :)

Thank you for your work on this project

J
2018-12-17 19:47:01 +00:00
fa5892d236 Web Sockets: work around .NET FX bug (#702) 2018-12-17 19:39:06 +00:00
Ali
14cff23d48 Update README.md (#700)
Fixing the meaning
2018-12-17 19:38:11 +00:00
37efe354ca Fixed error message when reroute configuration is not found #650 (#698) 2018-12-17 19:37:35 +00:00
44209e97be Fixing a syntax error in qualityofservice.rst (#691) 2018-12-17 19:32:57 +00:00
87602941de Merge branch 'thiagoloureiro-fixed_security_alerts' into develop 2018-12-16 14:56:30 +00:00
85141cb27f Merge branch 'fixed_security_alerts' of https://github.com/thiagoloureiro/Ocelot into thiagoloureiro-fixed_security_alerts 2018-12-16 14:56:21 +00:00
50824e79da updated dotnet core sdk and cake build script (#717)
* updated dotnet core sdk and cake build script

* update travis SDK version

* update mono for travis and update .net core sdk to what appveyor supports

* same version of .net in travis as cake build

* same sdk on traivs and appveyor
2018-12-16 14:54:12 +00:00
5533907ad7 Grammar (#672) 2018-12-07 23:41:10 -08:00
8b930d10b2 Updated MemoryCache package from 2.1.1 to 2.1.2 to fix build issue 2018-11-29 12:11:36 +01:00
adbe7a0227 Fixed Microsoft.AspNetCore.All version for security purposes 2018-11-29 12:05:27 +01:00
41d4f9c6df #645 added a sample project using the administration api, tested locally and works as expected (#660) 2018-10-13 17:48:03 +01:00
89639ce7e7 removed text we dont need 2018-10-13 17:48:04 +01:00
Gil
724fe2fb6f Update doc file loadbalancer.rst (#644)
* Update doc file loadbalancer.rst

* Update loadbalancer.rst

Resolve typo
2018-10-13 17:46:49 +01:00
7fb66dd34d Fix DI Registration for IDownstreamRouteProvider (#656)
The two singletons registered for IDownstreamRouteProvider,
DownstreamRouteFinder and DownstreamRouteCreator, were registered using
`TryAddSingleton`. This would cause DownstreamRouteFinder to be
instantiated and found but the "Try" made DownstreamRouteCreator not
registered.

This was noted in the following in `DownstreamRouteProviderFactory`:

```
_providers = provider.GetServices<IDownstreamRouteProvider>().ToDictionary(x => x.GetType().Name);
```

With the registration being done using `TryAddSingleton` only one
element was added to the dictionary. Changing this to `AddSingleton`
fixed this issue.

This was uncovered in an error on line 30 of
`DownstreamRouteProviderFactory`. The key for
`nameof(DownstreamRouteCreator)` did not exist causing an exception to
be thrown.
2018-10-13 11:53:59 +01:00
622de5efd0 #639 added copywrite notice (#648) 2018-09-30 10:17:51 +01:00
b58b3810d8 Update to support Subprotocols. Solves #639 (#642)
Ocelot websocket middleware did not work for STOMP over websocket. After investigation i found out that the issue was with subprotocol and headers that are send and filtered. 

I the end i used ASP.Net core proxy as a reference to solve the issue here:

3015029f51/src/Microsoft.AspNetCore.Proxy/ProxyAdvancedExtensions.cs

So i modified the code to use the way ASP.Net proxy handles this.
2018-09-30 09:17:09 +01:00
65b4115e90 made benchmark work 2018-09-25 21:02:13 +01:00
2d834037e4 removed dep we dont need in dsrfm (#636) 2018-09-25 20:33:31 +01:00
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
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
54cdc74293 #633 ignore OPTIONS requests on AuthenticationMiddleware (#634) 2018-09-24 07:55:52 +01:00
1e5a20c2f2 #630 only set status code if response hasnt started, otherwise exception (#631) 2018-09-22 08:51:19 +01:00
f16d201906 Merge branch 'snb83-feature/config_grow_when_merged' into develop 2018-09-20 18:33:17 +01:00
dcc3f0deae #559 +semver: breaking always use environment when working out AddOcelot on builder 2018-09-20 18:33:00 +01:00
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
388b1fad90 #604 set use qos based on what we have in docs (#627) 2018-09-20 08:04:15 +01:00
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
0b9ff92549 fix #609 https://github.com/ThreeMammals/Ocelot/issues/609 (#610) 2018-09-12 07:44:22 +01:00
f934620538 Set status code directly (#608)
Makes it possible for middlewares to read status codes and handle errors
2018-09-12 07:34:39 +01:00
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
b491bd50a8 fix typo, DownstreamDownstreamPathTemplate => DownstreamPathTemplate (#601) 2018-09-11 21:02:03 +01:00
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
ef6db657b7 #593 instanciate upstream path template when dynamic routing for logging (#594) 2018-09-03 21:31:57 +01:00
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
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
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
0a7d81038e Update requestid.rst (#587)
fixing a typo
2018-08-31 18:20:13 +01:00
1ea59f12b3 Correcting minor typos. (#583) 2018-08-30 06:54:11 +01:00
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
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
e257d82abf Revert "make sure files are copied for manual tests, was not working"
This reverts commit 6f9811cb1b.
2018-08-26 12:38:42 +01:00
6f9811cb1b make sure files are copied for manual tests, was not working 2018-08-26 11:56:18 +01:00
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
b0bdeb9402 #534 fixed failing tests for this issue (#575) 2018-08-25 12:32:56 +01:00
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