370 Commits

Author SHA1 Message Date
Tom Gardham-Pallister
2ed37cbc83 #296 will now do a crappy merge on the configuration 2018-04-16 20:28:15 +01:00
Tom Gardham-Pallister
c5aa11f7fb #296 still hacking this idea around 2018-04-15 18:06:03 +01:00
Tom Pallister
3ae2b286ab #296 coming up with ideas for this config merging 2018-04-15 09:20:52 +01:00
Tom Pallister
7ca828836a #296 started writing merge code 2018-04-14 07:02:17 +01:00
Tom Pallister
fe9bca7b77 removed another pointless abstraction 2018-04-14 06:32:00 +01:00
Tom Pallister
fe5662f954 refactoring to consolidate configuration code 2018-04-13 22:47:50 +01:00
Tom Pallister
f88e1f65ef removed some async we dont need 2018-04-13 17:16:43 +01:00
Tom Pallister
060dd1dc78 another file we dont need 2018-04-13 12:36:43 +01:00
Tom Pallister
698541eb69 removed things we dont need for tests 2018-04-13 12:34:34 +01:00
Tom Pallister
cbaa2c3096 #296 renamed configuration.json to ocelot.json in preparation 2018-04-13 11:23:44 +01:00
Tom Pallister
a15f75dda8
#298 initial hacking around better aggregation (#310)
* #298 initial hacking around better aggregation

* #298 bit more hacking around

* #298 abstraction over httpresponsemessage

* #298 tidying up

* #298 docs

* #298 missed this
2018-04-12 17:35:04 +01:00
Tom Pallister
982eebfc74
Feature/#295 consul acl (#307)
* removed file

* updated package

* updated package

* updated package

* updated package

* updated package

* updated package

* updated package

* all packages updated

* #295 can add token to service provider config and this will be used by consul clients to get services and configuration

* #295 wait longer for this test
2018-04-08 15:54:58 +01:00
Tom Gardham-Pallister
d7ef956935 fixed weird error 2018-04-07 21:55:54 +01:00
Tom Pallister
0073a6f550 Merge branch 'release/5.5.0' 2018-04-07 12:08:35 +01:00
Tom Pallister
efbb950ea2
Feature/another look at logging (#303)
* #212 - hacked websockets proxy together

* faffing around

* #212 hacking away :(

* #212 websockets proxy middleware working

* #212 map when for webockets working

* #212 some test refactor

* #212 temp commit

* #212 websockets proxy working, tests passing...need to do some tidying and write docs

* #212 more code coverage

* #212 docs for websockets

* #212 updated readme

* #212 tidying up after websockets refactoring

* #212 tidying up after websockets refactoring

* #212 tidying up after websockets refactoring

* changing logging levels and logging like ms reccomends with structured data rather than strings

* more faffing

* more fafin

* #287 ocelot logger now only takes strings as it did take params then just turned them to strings, misleading, unit tests for logger and diagnosticlogger

* #287 errors now logged as they happen

* #287 more detail for logs requested in issue

* #287 tidy up

* #287 renamed

* #287 always log context id

* #287 fixed me being an idiot

* #287 removed crap websockets unit test that isnt a unit test

* #287 removed crap websockets unit test that isnt a unit test
2018-04-07 12:03:24 +01:00
Tom Gardham-Pallister
6817943b0a Merged into master 2018-04-02 18:15:08 +01:00
Tom Pallister
ec545fadae
Feature/fix tracing (#297)
* hacked together tracing fix by wrapping middleware delegate in another delegate

* #227 have re-implemented tracing, cleaned up trace names, probably still need some refactoring and tests as this was a bit of a hack job

* #227 bit of checking for when we dont want to use tracing, also removed a unit test for websockets that wasnt a unit test, i stuck it there because i wanted the code coverage and now im paying the price, will have to work out a better way to do it

* #227 a bit of refactoring to make this work better, still a bit hacky...would like to revisit the whole thing one day

* #227 dont need this

* #227 or this

* #227 small refactor
2018-04-02 18:12:35 +01:00
Tom Gardham-Pallister
2c4175580f Merge branch 'release-5.3.0' 2018-03-24 09:48:59 +00:00
Tom Pallister
463a7bdab4
Feature/websockets (#273)
* #212 - hacked websockets proxy together

* faffing around

* #212 hacking away :(

* #212 websockets proxy middleware working

* #212 map when for webockets working

* #212 some test refactor

* #212 temp commit

* #212 websockets proxy working, tests passing...need to do some tidying and write docs

* #212 more code coverage

* #212 docs for websockets

* #212 updated readme

* #212 tidying up after websockets refactoring

* #212 tidying up after websockets refactoring

* #212 tidying up after websockets refactoring

* stuck a warning in about logging levels into docs!
2018-03-23 18:01:02 +00:00
tangdf
c79f1ecbf8 Middleware Invoke multi parameters (#288) 2018-03-21 06:33:22 +00:00
Tom Pallister
7e43af0126
#289 fix for issue where I was not preserving original query string when more than one query with same name (#290) 2018-03-20 20:48:30 +00:00
Tom Pallister
b51df71d7b
#280 Add headers to response (#286)
* #280 can now add response headers inc trace id, now need to consolidate the header place holder stuff

* #280 changed port for linux tests

* #280 lots of hacking around to handle errors and consolidate placeholders into one class
2018-03-18 14:58:39 +00:00
Tom Pallister
0ab670a143
Feature/#52 (#283)
* #52 test circle ci

* #52 nicked some lads cake script

* #52 put the mac build script back

* #52 trying another lads circle CI thing doesnt use cake

* #52 added test steps

* #52 ports for linux build

* #52 try travis mac build

* #52 dont use build script

* #52 dont use build script

* #52 acceptance and int tests dont really work on mac...v strange?

* #52 unique port for linux tests

* #52 increase code coverage

* #52 try using cake on linux for travis

* #52 try using cake for mac and linux on travis

* #52 dont run the acceptance and int tests on mac

* #52 build.sh has lf line endings

* #52 turns out crlf is OK for cake file..sigh

* #52 not sure what return does in cake so wrapped in if just to see

* #52 try use travis to work not run on mac

* #52 dont need these references

* #52 wrong property

* #52 remove circle ci for linux and just use travis for all
2018-03-17 18:07:27 +00:00
Tom Pallister
8a2f76d0c5
#268 fix flakey acceptance test (#282)
* #268 added waiter to test, altho i wasn't able to replicate flakeyness with wait anyway! Hopefully this will be solid now!

* #268 fixed a warning

* #268 more code coverage
2018-03-17 12:54:17 +00:00
Tom Pallister
ed11f3024c
Feature/#274 (#281)
* #274 added acceptance tests, need to work out failing unit tests but probably going to be a redesign where we hold a reference to the cookie container and empty it if needed

* #274 updated code coverage value

* #274 offloaded cache logic to builder in preparation for adding state

* #274 hacked something together but this is not right approach

* #274 updated defaults and docs

* #274 updated code coverage
2018-03-17 11:35:16 +00:00
Simon Jefford
c1b315173f Squash some warnings (#278)
* squash SA1649 warnings (file/type name mismatch)

* squash SA1127 warnings (generic constraint on own line)

* squash SA1507 warnings (multiple blank lines)

* squash package analysis warnings re: summary text

It's not actually possible to provide a summary right now as per
https://github.com/NuGet/Home/issues/4587

* squash missing castle.core reference warning

* squash obsolete method warnings re: AddOcelotBaseUrl
2018-03-16 17:48:11 +00:00
Tom Pallister
d24df36420
#271 Added some extra logging (#276) 2018-03-14 18:49:41 +00:00
Tom Pallister
fd2c5364fc
#270 exposed ReRoute priority (#272) 2018-03-13 20:31:22 +00:00
Tom Pallister
4c840d40a6
Feature/re route specific handlers (#269)
* #264 added handlers to config

* #264 added global handlers object and defaut param for method, not sure this is correct api for users yet

* #264 Can now add all sorts of delegating handlers in all sorts of ways

* +semver: breaking #264
2018-03-10 21:02:59 +00:00
Tom Pallister
a31a3ae0fc
Delegating Handlers from container (#266)
* #259 quickly hacked poc for this together, needs tidying up maybe

* #266 +semver: breaking removed adding delegating handler funcs directly...i feel from container is enough
2018-03-09 07:37:37 +00:00
Philip Wood
28cc519341
Merge pull request #261 from binarymash/feature/ReduceBuildWarnings
Feature/reduce build warnings
2018-03-08 20:39:26 +00:00
Tom Pallister
5e9ee1f2ed
#263 map all content specific headers to downstream request content property, make sure we dont map them to request specific headers, added a gzip encoding acceptance test (#267) 2018-03-08 07:32:06 +00:00
Philip Wood
ea95690253 Fix remaining CS0649 violations 2018-03-06 11:13:02 +00:00
Philip Wood
b8e95373a4 Fix async/await warnings 2018-03-06 10:59:01 +00:00
Tom Pallister
db05935b89
updated not supported with reasons why Ocelot doesnt support swagger (#258) 2018-03-05 20:18:58 +00:00
TomPallister
e1325568d2 Merge branch 'develop' into feature/#238-statefull 2018-03-03 17:12:41 +00:00
TomPallister
4a28666a41 #238 support passing statefull service headers to service fabric naming service 2018-03-03 17:05:40 +00:00
Philip Wood
52166b4987 Merge remote-tracking branch 'upstream/release-3.1.8' into feature/AddStyleCopAnalyzers
# Conflicts:
#	src/Ocelot/Configuration/ServiceProviderConfiguration.cs
2018-03-03 16:28:19 +00:00
Tom Pallister
454ba3f9a0
Make Ocelot work with service fabric DNS and naming service for guest exe and stateless (#242)
* test for issue

* added service fabric sample

* working!!

* changed sample naming to Ocelot

* removed files we dont need

* removed files we dont need

* updated sample gitignore

* updated sample gitignore

* getting ocelot to work with service fabric using the reverse proxy

* #238 - added support for service fabric discovery provider, proxies requests through naming service, wont work on partioned service fabric services yet

* #238 - Manually tested service fabric using sample..all seems OK. Made some changes after testing, added docs

* #238 - added docs for servic fabric
2018-03-03 15:24:05 +00:00
Philip Wood
50980fda93 Fix various violations
SA1216, CS0105, CS0169, CS0414, CS0649
2018-03-03 14:08:52 +00:00
Philip Wood
a64e263a26 Fix file names to match class names
SA1649
2018-03-03 13:48:30 +00:00
Philip Wood
c7dbfc044f Fix else statement spacing
SA1510
2018-03-03 13:36:09 +00:00
Philip Wood
b18c8e5f2b Fix single-line comment spacing
SA1512, SA1515
2018-03-03 13:34:19 +00:00
Philip Wood
f24c0a0510 Fix multiple statements on single line
SA1107
2018-03-03 13:29:05 +00:00
Philip Wood
167fbb3daf Remove multiple concurrent blank lines
SA1507
2018-03-03 13:26:27 +00:00
Philip Wood
edbed051de Remove blank lines at start/end of files
SA1517, SA1518
2018-03-03 13:16:26 +00:00
Philip Wood
c61dc9fd11 Fix brace line spacing and remove multiple concurrent whitespace characters
SA1025, SA1505, SA1508, SA-1509, SA1513
2018-03-03 13:14:24 +00:00
Philip Wood
28a41b21a4 Merge remote-tracking branch 'upstream/develop' into feature/AddStyleCopAnalyzers
# Conflicts:
#	test/Ocelot.AcceptanceTests/Ocelot.AcceptanceTests.csproj
#	test/Ocelot.Benchmarks/Ocelot.Benchmarks.csproj
2018-03-03 12:33:04 +00:00
Tom Pallister
9f1fb002c1
Feature/#246 (#252)
* failing test

* failing test but needs real butterfly server running..need to fix that...also worked out ive broken tracing...yey

* brought in butterfly source code so i can work out how to write acceptance tests for this...

* fixed the bug but still need to fix tracing

* tracing working again across services but need to make tracing hook into new Ocelot middleware as it still uses asp.net middleware

* removed butterfly libs brought in for testing
2018-03-01 12:58:36 +00:00
Tom Pallister
d1926268ac
Feature/downstream aggregation (#248)
* started messing around with this on the train last night

* mega hacking away to change middleware into Ocelot iddleware

* scoped data repo back in

* broken commit getting tests working

* another broken commit farting around with tests

* all unit tests passing again

* mw pipeline for ocelot...still loads of hacks but getting there now to get acceptance tests working, then fix config so you can have aggregate and then imlement multiplexer, then mapping to response...loads to do

* all tests passing before aggregation feature implemented

* removed all the request middleware stuff we dont need it

* updated how errors work...tho i think there could be edge case here when aggregating because one downstream could error and this would effect another

* removed multiplexer so you dont have to send route down, this isnt very thread safe...sigh

* hacking around getting the config for aggregates in, this might change

* refactored builder and unit tests passing now

* Updated a bunch of ports for tests

* plugged in code to create reroutes that are aggregates

* made multiplexer a class

* hacked test to death

* simple aggregator done, initial validation done

* removed request id from context, it is still specific for http request

* now aggregates to json always

* docs for aggregate reroutes

* Updated docs
2018-02-27 08:22:47 +00:00