Commit Graph

272 Commits

Author SHA1 Message Date
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
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
868fada01f should return when error 2017-11-29 08:19:46 +00:00
48b5a32676 Implement mapping of HttpResponseMessage to CachedResponse to fix #152 (#153)
* changed name to cache options to fix issue #146

* Add acceptance test that exposes JSON deserialization bug from issue #146

- Create InMemoryJsonHandle for CacheManager that mimics DictionaryHandle but uses ICacheSerializer to serialize/deserialize values instead of saving references
- Add CacheManager.Serialization.Json package
- Add StartupWithCustomCacheHandle class that extends Startup and overrides ConfigureServices to register InMemoryJsonHandle
- Add GivenOcelotIsRunningUsingConsulToStoreConfigAndJsonSerializedCache method to initiate Ocelot with StartupWithCustomCacheHandle
- Add test should_return_response_200_with_simple_url_when_using_jsonserialized_cache

* Create Acceptance test that exposes issue #152

- Add GivenOcelotIsRunningUsingJsonSerializedCache() that initializes Ocelot with InMemoryJsonHandle
- Add should_return_cached_response_when_using_jsonserialized_cache test

* Change Consul port to 9502 on should_return_response_200_with_simple_url_when_using_jsonserialized_cache() test

* Implement mapping of HttpResponseMessage to CachedResponse to enable distributed caching

- Add CachedResponse class that holds HttpResponse data
- Add mapping methods in OutputCacheMiddleware to create HttpResponseMessage from CachedResponse and vice versa
- Replace HttpResponseMessage with CachedResponse in services registrations
- Replace HttpResponseMessage with CachedResponse in OutputCacheController's IOcelotCache

* Fix unit tests for OutputCacheMiddleware and OutputCacheController by replacing HttpResponseMessage with CachedResponse

* Add .editorconfig with default identation settings (spaces with size 4)

* Re-format broken files with new identation settings

* Add Startup_WithConsul_And_CustomCacheHandle class

- Use Startup_WithConsul_And_CustomCacheHandle in GivenOcelotIsRunningUsingConsulToStoreConfigAndJsonSerializedCache step

* Do minor cleanups

- Rename StartupWithCustomCacheHandle to Startup_WithCustomCacheHandle for better readability
- Remove cachemanager settings Action in Startup since it is not used anymore

* Drop Task in CreateHttpResponseMessage - unnecessary overhead

* Make setters private in CachedResponse

- Rework CreateCachedResponse to use new CachedResponse constructor
2017-11-25 14:47:17 +00:00
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
6289992faa added Ocelot bulder to try and make adding Ocelot configuration more … (#159)
* added Ocelot bulder to try and make adding Ocelot configuration more idiomatic

* renamed tests
2017-11-22 07:07:59 +00:00
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
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
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
d377482013 removed comment 2017-11-14 22:41:21 +00:00
88e51971c5 only get config once in a request...could make this its own middleware one day? 2017-11-10 18:07:08 +00:00
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
b64b06e069 getting acceptance tests working again 2017-11-09 09:02:41 +00:00
e43732290a massive refactor to handle creating load balancer first time a re route is called 2017-11-08 21:26:49 +00:00
ab14df9127 plugged new lb creator into tests 2017-11-07 08:12:48 +00:00
bf0a31f8de moving load balancer creation into its own class 2017-11-07 08:05:41 +00:00
b57ae391ef looking at #135 validation 2017-11-01 18:57:27 +00:00
f4e8dcbdab everything working..now for the docs 2017-11-01 15:51:49 +00:00
b512875062 few things to remove i missed 2017-11-01 15:29:22 +00:00
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
967f0f7128 all tests passing but i think im going to take registering auth our of the config 2017-11-01 13:37:03 +00:00
6fcede701a holy mother of god all tests passing .net core 2.0 upgrade.... 2017-11-01 09:30:42 +00:00
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
336c84f9b5 something half working around identity server.... 2017-10-31 08:36:58 +00:00
c1cfaf0fbb messing around on mac trying to get something working.. 2017-10-30 19:57:11 +00:00
fd9eae0152 commit to move to my back after hacking around at work..this is not simple :( 2017-10-30 18:06:45 +00:00
120532bb0d fixed more failing acceptance tests...think the only thing to do now is work out the authentication stuff and that should fix all the other tests 2017-10-30 13:14:12 +00:00
b23bbf56b9 all administration tests passing again...yey 2017-10-30 07:59:34 +00:00
b28fc6694e tidy up and no longer hard code admin area...still one int test failing before we start looking at rebuilding auth stuff 2017-10-29 16:35:12 +00:00
24c018721f more changes to get admin area working...few todos left in and some properties that we are no longer setting on scopes and resources does this matter? 2017-10-25 08:16:21 +01:00
09126911bd joy the admin area works with this commit 2017-10-25 08:06:41 +01:00
4428982052 updated to latest id server packages and i know these work 2017-10-24 21:48:55 +01:00
d0d74f0886 match whole input with regex 2017-10-12 19:03:20 +01:00
8bc5819f90 Merge remote-tracking branch 'origin/develop' into feature/#128-cookie-proxying-and-auto-redirect-configuration 2017-10-09 14:44:16 +03:00
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
d8621d9046 miles away 2017-09-26 09:57:51 +01:00
6419919e74 unit tests pass... 2017-09-25 13:13:07 +01:00
1c98dcbca3 updated packages and project versions...12 errors! 2017-09-25 11:53:56 +01:00
cffb8b63d9 blasduihasd 2017-09-21 23:09:36 +01:00
c06b492b46 upgraded to netcoreapp2.0 2017-09-21 23:00:22 +01:00
207a3882dc attempt to fix consul problem 2017-09-11 21:48:49 +01:00
7ef26f5f4b fixes issue #117 2017-08-29 20:47:52 +01:00
8042bbab2c Moved common middleare test setup into a base class 2017-07-18 09:28:32 +01:00
b0c12431d6 Added test coverage around responder middleware, and refactored these to not use test server. 2017-07-11 18:45:53 +01:00
09c9a25883 bit more tidying 2017-07-04 19:41:41 +01:00
34cd2e1392 moved classes into seperate files 2017-07-04 19:18:08 +01:00
58dc7c93bc moved json converters under authentication feature 2017-07-04 19:14:37 +01:00
50ee9e20d8 Merge pull request #110 from sharpn/develop
Adding JWT authentication for use with auth0
2017-06-30 09:32:55 +01:00
9532d940f1 Implementing jwt and adding tests 2017-06-28 21:43:37 +01:00
0f60a353ef now set region in config...or it defaults to something 2017-06-28 19:02:08 +01:00