609 Commits

Author SHA1 Message Date
Tom Gardham-Pallister
f179b7d0d0 updated cake script for windows 2018-02-08 18:03:51 +00:00
Tom Gardham-Pallister
6ff8c1cac4 Merge branch 'develop' of github.com:TomPallister/Ocelot into develop 2018-02-03 11:00:46 +00:00
Tom Gardham-Pallister
35fff08f48 checking what happens on app veyor 2018-02-03 11:00:36 +00:00
Tom Pallister
d3e53062a2
Update README.md 2018-02-03 10:46:18 +00:00
Tom Pallister
a4bb0dd13b
fix for #214 and some tests for the class it was in but not for the error (cant be arsed to test as have to spin up IIS) (#218) 2018-02-03 09:02:01 +00:00
Tom Pallister
5848e12d15
Feature/issue 209 upstream host based routing (#216)
* from messing around at lunch...initial hacking seems to sort of work..need to think of all the test scenarios

* drunken train hacking

* docs for upstreamhost
2018-02-02 11:06:54 +00:00
Stuart Saltzman
86951d6aaa fix: LF for linux scripts (.sh) (#215) 2018-02-01 20:00:39 +00:00
Tom Pallister
f690f287cb forgot this 2018-02-01 13:51:55 +00:00
Tom Gardham-Pallister
f1244ff3d4 +semver: breaking 2018-01-31 20:40:59 +00:00
Tom Pallister
3ac9b3bd87
hacked together load balancing reroutes in fileconfig (#211)
* hacked together load balancing reroutes in fileconfig

* some renaming and refactoring

* more renames

* hacked away the old config json

* test for issue 213

* renamed key

* dont share ports

* oops

* updated docs

* mvoed docs around

* port being used
2018-01-31 20:34:55 +00:00
Tom Pallister
f572d1b0ca
downstreambaseurl placeholder for multiple location value redirects (#207) 2018-01-27 20:03:49 +00:00
Tom Pallister
d0eee70c46
Feature/transform headers (#204)
* New feature that lets a user do find and replace on an upstream header

* can transform downstream and upstream headers, not sure if interface is good

* can replace location header with placeholder

* added some syntax
2018-01-22 20:21:29 +00:00
Stuart Saltzman
9c048ba615 fix/#98 - command line build on mac (#203)
* Cake v0.25.0; git ignore .idea/ directory

* revert cake to upstream

* revert src/Ocelot/Middleware/OcelotMiddlewareExtensions.cs

* comments
2018-01-18 21:02:30 +00:00
kinglionsoft
24870b1a83 fixed log message (#202)
* Can't set StatusCode after Response has started

* fixed log message
2018-01-18 19:28:53 +00:00
kinglionsoft
0784954971 Can't set StatusCode after Response has started (#200) 2018-01-16 07:10:52 +00:00
Tom Pallister
31f526d3cd
passing test for issue (#197)
* passing test for issue

* fix test when run together
2018-01-13 06:09:21 +00:00
Tom Gardham-Pallister
d0b07b2cc2 this isnt used 2018-01-10 18:50:02 +00:00
Tom Pallister
852f11c423
Feature/fix #194 (#196)
* added failing acceptance test

* added validation for double slash in upstream and downstream path templates
2018-01-10 18:11:56 +00:00
lousaibiao
b909b34591 Update routing.rst (#193)
lack of ":"
2018-01-10 08:14:14 +00:00
Tom Pallister
6992f9e113
fixed issu where if service dropped out then leastconnection would not pick it up again (#195) 2018-01-10 08:12:22 +00:00
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
464f266148
Feature/fix #185 round 2 (#188)
* Changed routing to support a catch all style

* refactoring placeholder tuff

* implemented simple priority in the routing
2018-01-05 21:49:03 +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
Philip Wood
194f76cf7f #177 - optimise the build scripts (#178)
* Remove explicit restore, and don't rebuild during tests.

This currently fails because the release config doesn't contain symbols needed by opencover.

* Build unit tests in debug

Turns out that for test coverage we need to have debug symbols.
2017-12-18 22:11:17 +00:00
Tom Gardham-Pallister
79029f50d3 change to make test pass for issue 171 2017-12-12 07:45:03 +00:00
Tom Gardham-Pallister
526e2dbf18 Merge branch 'awarrenlove-ocelot-builder-lifetimes' into develop 2017-12-12 07:42:59 +00:00
Tom Gardham-Pallister
b6baa55221 Merge branch 'ocelot-builder-lifetimes' of https://github.com/awarrenlove/Ocelot into awarrenlove-ocelot-builder-lifetimes 2017-12-12 07:42:29 +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
Tom Pallister
67a421cb69
Feature/fix build always reporting green (#173)
* added last exit code to wrapper scripts

* try force fail

* ooops missed ;

* trying again

* fail build with bad test

* removed exception

* removed using
2017-12-06 08:24:11 +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
Andrew Warren-Love
189471caba demonstrate issue #169 2017-12-04 10:11:56 -05:00
Tom Gardham-Pallister
31fe6af614 correct path for images 2017-12-04 09:05:15 +00:00
Tom Gardham-Pallister
e12b9d123e images for docs 2017-12-04 09:03:49 +00:00
Tom Gardham-Pallister
df03e2b51a added more docs around authentication 2017-12-01 08:10:45 +00:00
Tom Gardham-Pallister
c986f750bb merge 2017-11-29 08:21:11 +00:00
Tom Gardham-Pallister
868fada01f should return when error 2017-11-29 08:19:46 +00:00
Tom Pallister
dff1df822f
Update README.md 2017-11-28 22:01:45 +00:00
Tom Gardham-Pallister
c1db76de29 changed docs 2017-11-26 18:59:55 +00:00
Tom Pallister
8e033a916d
Update README.md 2017-11-25 15:47:42 +00:00
Tom Gardham-Pallister
c3e73d42d3 updated gitignore 2017-11-25 15:40:53 +00:00
Tom Pallister
923276651d
Feature/docs (#165)
* initial readthedocs commit

* docs moved to sphinx / rst / read the docs
2017-11-25 15:03:50 +00:00
Charalampos Chomenidis
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
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
Tom Pallister
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
Tom Pallister
fea88cc036
Update README.md 2017-11-20 13:47:32 +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