82 Commits

Author SHA1 Message Date
Tom Pallister
6a20baeb97
Improving logging and request id (#189)
* hacking around to work out why logging and request id isnt working

* pass request id into logger so it can be structured, removed a bunch of debug logging we dont need because diagnostic trace gets it

* changed config dependency

* always have tracing available

* made it so we dont need to pass config into services.AddOcelot anymore with .net core 2.0

* add test

* lots of changes relating to logging and request ids, also updated documentation

* fixed failing test i missed
2018-01-06 16:39:05 +00:00
Tom Pallister
fef19ddf98
Changed routing to support a catch all style (#187)
* Changed routing to support a catch all style

* refactoring placeholder tuff

* implemented simple priority in the routing
2018-01-05 21:26:15 +00:00
Tom Pallister
931a115ffa
changes to add new feature to url routing (#186) 2018-01-02 18:49:22 +00:00
Tom Pallister
f082f7318a
Raft round 2 (#182)
* brought in rafty

* moved raft classes into Ocelot and deleted from int project

* started to set up rafty in Ocelot

* RAFTY INSIDE OCELOT...WOOT

* more work adding rafty...just need to get auth working now

* rudimentary authenticated raft requests working

* asyn await stuff

* hacked rafty into the fileconfigurationcontroller...everything seems to be working roughly but I have a lot of refactoring to do

* updated to latest rafty that doesnt need an id

* hacky but all tests passing

* changed admin area set up to use builder not configuration.json, changed admin area auth to use client credentials

* missing code coverage

* ignore raft sectionf for code coverage

* ignore raft sectionf for code coverage

* back to normal filters

* try exclude attr

* missed these

* moved client secret to builder for authentication and updated docs

* lock to try and fix error accessing identity server created temprsa file on build server

* updated postman scripts and changed Ocelot to not always use type handling as this looked crap when manually accessing the configuration endpoint

* added rafty docs

* changes I missed

* added serialisation code we need for rafty to process commands when they proxy to leader

* moved controllers into their feature slices
2018-01-01 18:40:39 +00:00
Tom Pallister
5855a14935
Feature/more validation (#174)
* added message assertion for validation test

* another message assertion

* more validation tests
2017-12-09 14:41:35 +00:00
Eilyyyy
4f27a50503 add file configuration fluent validation and change default configura… (#168)
* add file configuration fluent validation and change default configuration validator to fluent validator

* add file validation failed error code

* change authentication schemes check to async

* beautify the code ^_^

* clean file validation and fix test failure.
2017-12-05 18:29:44 +00:00
Tom Pallister
3b27bb376e
Feature/fix #156 (#160)
* change config creator to not throw exception in there is an error......lord i hate this config creator code I need to sort it out.

* Remove method that we are not using anymore..

* throw exception and add errors to message

* train hacking and some refactoring

* bs test for code coverage

* actually return the errors in the exception
2017-11-24 21:10:03 +00:00
hemantkd
6c5c6495c0 Initial draft for the issue 147 fix (#155)
* Initial draft for the issue 147 fix

* Added unit tests for scenarios for getting and setting file configuration if the environment name is unavailable.
2017-11-20 12:41:45 +00:00
Tom Pallister
9ba57f8ba6
Make Ocelot not add forward slash to downstream url (#158)
* removed code where we add a trailing slash as this means if we request /1.txt/ instead of /1.txt then some servers will not return the resource at /1.txt. After reading up it seems if you dont have a trailing slash then its a file, if you do then its a resource

* test for 145

* removed unused code

* fix broken build..my bad
2017-11-19 21:01:54 +00:00
Tom Pallister
68242102d8
Feature/hacking consul file config (#157)
* moving things around to see if I can get consul to store fileconfiguration rather than ocelotconfiguration

* more refactoring to see if we can get a test for the feature

* acceptance test passing for updating in consul..need to sort object comparison out

* fixed the failing tests
2017-11-17 17:58:39 +00:00
Tom Gardham-Pallister
24c2ba10de found missing tests 2017-11-10 18:11:50 +00:00
Tom Pallister
1d61e403ed changes to create load balancers and qos providers on first request to reroute and then check if they have changed on subsequent requests but not create again if they havent..quite a few breaking changes here. 2017-11-09 17:35:49 +00:00
Tom Gardham-Pallister
0bc39fca53 another test to make sure service provider config is craeted 2017-11-09 08:27:38 +00:00
Tom Gardham-Pallister
e43732290a massive refactor to handle creating load balancer first time a re route is called 2017-11-08 21:26:49 +00:00
Tom Gardham-Pallister
ab14df9127 plugged new lb creator into tests 2017-11-07 08:12:48 +00:00
Tom Gardham-Pallister
b57ae391ef looking at #135 validation 2017-11-01 18:57:27 +00:00
Tom Pallister
f4e8dcbdab everything working..now for the docs 2017-11-01 15:51:49 +00:00
Tom Pallister
3f2af85969 test passing with authentication being provided by the user and mapped to the re route in config 2017-11-01 15:25:55 +00:00
Tom Gardham-Pallister
e0c16bea32 unit and int tests are passing with auth changes...but acceptance tests are in a state and there are loads of todos... 2017-11-01 08:05:22 +00:00
Tom Gardham-Pallister
d0d74f0886 match whole input with regex 2017-10-12 19:03:20 +01:00
Oleksandr Yershov
a8b56a63c2 Cookie proxying and auto redirect configuration #128
HttpHandlerOptions are added to ReRoute configuration and passed down to HttpClientHttpRequester as Request properties.
2017-09-28 09:41:13 +03:00
TomPallister
09c9a25883 bit more tidying 2017-07-04 19:41:41 +01:00
Tom Pallister
50ee9e20d8 Merge pull request #110 from sharpn/develop
Adding JWT authentication for use with auth0
2017-06-30 09:32:55 +01:00
Nick Sharp
1168eb3110 Reenabling some tests 2017-06-29 08:58:41 +01:00
Nick Sharp
9532d940f1 Implementing jwt and adding tests 2017-06-28 21:43:37 +01:00
Tom Gardham-Pallister
0f60a353ef now set region in config...or it defaults to something 2017-06-28 19:02:08 +01:00
nicksharp
461ef6aa52 Merging upstream 2017-06-26 19:39:28 +01:00
Nick Sharp
6209681b2c Adding code ##BROKEN TESTS## 2017-06-26 11:50:58 +01:00
Tom Gardham-Pallister
e96d66139f boost test coverage 2017-06-24 13:04:25 +01:00
Juan Carlos Santana Herrera
24f7b9a171 UpstreamHttpMethod property (of class FileReRoute) changes from string to List<string>. 2017-05-05 11:47:28 +01:00
TomPallister
c3cd181b90 added a new implementation that stores the ocelot config in consul kv store, had to change some major things and add cache settings as default 2017-04-16 19:35:59 +01:00
Tom Pallister
f58da434ba Merge pull request #70 from MarcDenman/feature/updateLogging
Update logging
2017-03-19 15:57:28 +00:00
David Derman
a3b387aeb1 Renamed ScopeName to ApiName, ScopeSecret to ApiSecret, and
AdditionalScopes to Allowed Scoped in order to be more consistent with
Identity Server naming conventions.
2017-03-14 16:54:55 -04:00
Marc Denman
0ec7fc44ad Change all ctor's to use IOcelotLoggerFactory
As part of #35 we are we are standardising on using IOcelotLoggerFactory
over the default ILogger for DI purposes. Following a sln search, the use
of ILogger was only found in one place (FileOcelotConfigurationCreator)
and it's corresponding tests.

This commit changes them and ensures the unit tests still pass.
2017-03-13 11:44:02 +00:00
TomPallister
558a0dfdab finished refactoring config cretor 2017-03-05 16:56:41 +00:00
Tom Gardham-Pallister
8bbd781820 updated file options 2017-03-02 09:18:53 +00:00
Tom Gardham-Pallister
b44c02510a unit test for qos 2017-03-01 23:34:56 +00:00
Tom Gardham-Pallister
0a2d7a6922 qos options creator in own class 2017-03-01 23:28:32 +00:00
Tom Gardham-Pallister
6661cb5f32 use config tests 2017-03-01 23:15:30 +00:00
Tom Gardham-Pallister
034732ce90 added lame test for service config creator 2017-03-01 23:12:00 +00:00
Tom Gardham-Pallister
fff743ccf8 pulling out service config cretor 2017-03-01 12:42:37 +00:00
Tom Gardham-Pallister
d4119ab33d extracted thing that creates request id key 2017-03-01 08:11:39 +00:00
Tom Gardham-Pallister
c85ea41951 refactoring ocelot config creation process 2017-03-01 07:54:07 +00:00
Tom Gardham-Pallister
112a9c303e hacky auth working 2017-02-24 19:52:48 +00:00
Tom Gardham-Pallister
aa0d8fe59a all tests passing, now to do authentication config provider 2017-02-22 07:48:49 +00:00
Tom Gardham-Pallister
2dfdf0bb86 after much hacking unit tests passing 2017-02-21 07:34:47 +00:00
Tom Gardham-Pallister
816221c7a6 morehaking about 2017-02-19 12:33:09 +00:00
Tom Gardham-Pallister
95fc687e93 started messing around with admin area 2017-02-13 12:13:53 +00:00
TomPallister
286c7f8488 Fixed issue where qos was being created for each request so circuit breaker was never stopping traffic going to downstream service. 2017-02-11 18:56:36 +00:00
TomPallister
ce8da4c92d removed qos by accident, added back in 2017-02-11 13:14:25 +00:00