Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
58b82f0
Add DownstreamHttpMethodCreatorMiddleware
pitming Nov 8, 2019
ec622dc
Add DownstreamHttpMethodCreatorMiddleware
pitming Nov 8, 2019
f35a07a
#603 return 502 when request cannot be completed
jlukawska Nov 22, 2019
ebe662a
make rate limiting whitelist a function so users can override with dy…
TomPallister Jan 19, 2020
59d32dd
Merge branch 'master' into develop
TomPallister Jan 20, 2020
68e3ae8
#603 return 502 on HttpRequestException
jlukawska Jan 22, 2020
8985495
Merge remote-tracking branch 'origin/develop' into feature/603-bad-ga…
jlukawska Jan 22, 2020
cbb21a1
#603 return 502 on HttpRequestException
jlukawska Jan 22, 2020
e45071f
Fix issue #1088 (Ocelot Administration doesn't work with .NET Core 3.x)
Feb 4, 2020
914a386
Merge branch 'feature/issue#1088'
Feb 4, 2020
157737e
Revert "Merge branch 'feature/issue#1088'"
Feb 4, 2020
f4eb93b
Fix issue #1088 (Ocelot Administration doesn't work with .NET Core 3.x)
Feb 4, 2020
b5dc618
Fix URL for the Ocelot logo in README.md (#1117)
eitamal Feb 4, 2020
0babcae
Merge branch 'feature/#1088' of https://github.com/ussamoo/Ocelot int…
TomPallister Feb 4, 2020
73e5632
Removed direct reference to Ocelot.Administration project
ussamoo Feb 4, 2020
55073ac
Merge branch 'ussamoo-feature/#1088'
TomPallister Feb 4, 2020
9ea4645
Merge branch 'feature/#1088' of https://github.com/ussamoo/Ocelot int…
TomPallister Feb 4, 2020
6274872
Merge branch 'ussamoo-feature/#1088'
TomPallister Feb 4, 2020
473d50f
Update README.md (#1110)
jmezach Feb 4, 2020
86e8d66
Activate ChangeToken when Ocelot's configuration changes #1037
TomPallister Feb 4, 2020
4147aee
RABC typo fix (#1123)
PavPS Feb 9, 2020
4bd2243
Merge branch 'feature/MethodTransformer' of https://github.com/pitmin…
TomPallister Feb 9, 2020
6bd903b
tests passing
TomPallister Feb 9, 2020
0c5e09d
moved logic to request mapper and public setter gone
TomPallister Feb 9, 2020
7e80720
acceptance tests
TomPallister Feb 9, 2020
89b2dec
added docs for http method transformation
TomPallister Feb 9, 2020
d879721
Merge branch 'master' into pitming-feature/MethodTransformer
TomPallister Feb 9, 2020
689f04d
Merge branch 'pitming-feature/MethodTransformer'
TomPallister Feb 9, 2020
ddf8b01
updated docs and readme with Method Transformation info (#1125)
TomPallister Feb 9, 2020
fc3b6fd
fix docs formatting for http method transformation
TomPallister Feb 9, 2020
f2f583a
Add DownstreamHttpVersion property for Http/2 WebServer
andreatosato Feb 10, 2020
88034a5
Updated KubeProvider to use pod endpoints instead of service
ussamoo Feb 10, 2020
42a1395
tests for downstream http version validation
TomPallister Feb 17, 2020
b8922ce
tests for version creator
TomPallister Feb 17, 2020
e969e9f
unit tests passing
TomPallister Feb 18, 2020
2772ce4
all acceptance tests passing
TomPallister Feb 19, 2020
ec8a5b6
finished tests around http2
TomPallister Feb 21, 2020
ede5650
docs
TomPallister Feb 21, 2020
def55b3
Merge branch 'andreatosato-master'
TomPallister Feb 21, 2020
08512ec
check we are on master before pushing coverage report (#1143)
TomPallister Feb 22, 2020
ae9f05e
Merge remote-tracking branch 'upstream/master' into feature/#1126
ussamoo Feb 22, 2020
84907bd
Update KubeServiceDiscoveryProviderTests
ussamoo Feb 22, 2020
263f26e
#1115 find available ports to use in acceptance tests
jlukawska Mar 6, 2020
c91c99c
Merge branch 'feature/1115-find-available-port-in-acceptance-tests' o…
TomPallister Mar 11, 2020
d032774
small refactor of RandomPortFinder
TomPallister Mar 11, 2020
c75227d
Merge branch 'master' into jlukawska-feature/1115-find-available-port…
TomPallister Mar 11, 2020
36064b1
use random port generator on tests from master
TomPallister Mar 11, 2020
b280b1c
Merge branch 'jlukawska-feature/1115-find-available-port-in-acceptanc…
TomPallister Mar 11, 2020
f922f0c
Merge pull request #3 from ThreeMammals/master
jlukawska Mar 11, 2020
8ead511
update acceptance tests
jlukawska Mar 11, 2020
1a280dd
#1150: added simple way to get release notes using cake and git
TomPallister Mar 12, 2020
783a77a
#1151: format release notes as JavaScript string for GitHub
TomPallister Mar 13, 2020
347ea72
#1152: dont push releasenotes.md to GitHub +semver: minor
TomPallister Mar 13, 2020
cd3dc00
Add ability to specify scheme of ServiceProviderConfiguration
Jul 10, 2019
bc42f04
Fix tests that are failing on AppVeyor.
Jul 10, 2019
20fd3e0
Fix issue and test after cherry-pick.
Mar 15, 2020
789782c
Add 'Name' property to ILoadBalancer, for future use in LoadBalancerF…
Jul 10, 2019
c73cf59
Revert "Add 'Name' property to ILoadBalancer, for future use in LoadB…
Jul 10, 2019
de012a0
Rewire LoadBalancerFactory to allow injecting custom load balancers, …
Jul 10, 2019
80ab5f6
Extend OcelotBuilder with overloads of the AddCustomLoadBalancer regi…
Jul 10, 2019
fd35ad0
Add ability to register custom load balancers
Jul 10, 2019
22f304c
Cover LoadBalancerFactory edge-case by a unit test.
Jul 10, 2019
f9ce987
Cover DelegateInvokingLoadBalancerCreator by unit tests.
Jul 10, 2019
2606d91
Fix unit test naming issue.
Jul 10, 2019
1223c19
Add comment indicating that the FakeCustomLoadBalancer implementation…
Jul 11, 2019
f63afbf
Added UpstreamHost placeholder to identify host from which request or…
samirsyed-evsn Mar 22, 2020
adffb1e
add asp memory cache
EngRajabi Mar 23, 2020
4110837
Fix code-blocks in kubernetes.rst (#1128)
Alazari-main Apr 11, 2020
84821c6
Updated packages (#1133)
Pedramrezaei Apr 11, 2020
fd7c6d7
Feat/release queue (#1192)
TomPallister Apr 11, 2020
6e5471a
Refactored k8s endpoints PR +semver: major
TomPallister Apr 11, 2020
77d4bb1
Merge branch 'ussamoo-feature/#1126'
TomPallister Apr 11, 2020
3dfcff8
Merge branch 'feature/603-bad-gateway' of https://github.com/jlukawsk…
TomPallister Apr 11, 2020
cdbd8e8
http error code tests and docs
TomPallister Apr 11, 2020
2f97913
Merge branch 'jlukawska-feature/603-bad-gateway'
TomPallister Apr 11, 2020
c8c3d12
Merge branch 'ServiceProviderConfigurationScheme' of https://github.c…
TomPallister Apr 12, 2020
169b333
updated docs
TomPallister Apr 12, 2020
d58f314
Merge branch 'DavidLievrouw-ServiceProviderConfigurationScheme'
TomPallister Apr 12, 2020
ccb5b84
Merge branch 'CustomLoadBalancers' of https://github.com/DavidLievrou…
TomPallister Apr 13, 2020
2843cdb
removed tasks we dont need
TomPallister Apr 13, 2020
b300ed9
small refactor
TomPallister Apr 13, 2020
c9483cd
tests to handle some error cases and docs
TomPallister Apr 13, 2020
7408060
more error handling and docs
TomPallister Apr 13, 2020
59af924
Merge branch 'DavidLievrouw-CustomLoadBalancers'
TomPallister Apr 13, 2020
6c20b11
Merge branch 'master' of https://github.com/samirsyed/Ocelot into sam…
TomPallister Apr 13, 2020
b7cfac9
more tests and docs
TomPallister Apr 13, 2020
c004c43
Merge branch 'samirsyed-master'
TomPallister Apr 13, 2020
b4c29fc
Merge branch 'feature_distributeCache' of https://github.com/EngRajab…
TomPallister Apr 13, 2020
8b098d2
removed old memory cache and added a few tests for new asp memory cache
TomPallister Apr 13, 2020
53d7f56
Merge branch 'EngRajabi-feature_distributeCache'
TomPallister Apr 13, 2020
99a15d8
Fix/1157 fix UpstreamHost validation (#1169)
jlukawska Apr 13, 2020
fe3e8bd
Remove Ocelot specific Middleware to make Ocelot more compatible with…
TomPallister May 23, 2020
3439be8
Rename all ReRoute to Route to move closer to YARP +semver: breaking
TomPallister May 23, 2020
56fe7b5
wip
TomPallister May 25, 2020
21b9d73
tweaks
TomPallister May 25, 2020
865520f
Feat/opentracing (#1243)
TomPallister May 25, 2020
2b8c872
Revert "Feat/opentracing (#1243)"
TomPallister May 25, 2020
c3a0cf1
Merge branch 'kjellegafvelin-master'
TomPallister May 25, 2020
708b575
upgrade csproj to net5.0
TomPallister Nov 20, 2020
7254d4d
+semver: breaking upgrade base build image to net5.0
TomPallister Nov 20, 2020
1c6bfc3
add make and build tools to image
TomPallister Nov 20, 2020
a9eec31
fix code broken after net5.0 upgrade
TomPallister Nov 20, 2020
7f49bf5
wip
TomPallister Nov 20, 2020
c1776fb
fix warnings
TomPallister Nov 23, 2020
f16cdd8
fix tests and line endings
TomPallister Nov 23, 2020
4b23e0c
line endings
TomPallister Nov 23, 2020
0fab351
move to dotnet tools for cake
TomPallister Nov 23, 2020
1185576
wip
TomPallister Nov 23, 2020
a5a1606
upgrade dotnet test and coverages packages
TomPallister Nov 23, 2020
71a1053
build works on windows
TomPallister Nov 23, 2020
ef69429
mono complete
TomPallister Nov 24, 2020
730c940
wip
TomPallister Nov 24, 2020
7e2b312
Merge branch 'feat/net5upgrade' of github.com:ThreeMammals/Ocelot int…
TomPallister Nov 24, 2020
f413102
wip
TomPallister Nov 25, 2020
6e1dc3f
wip
TomPallister Nov 25, 2020
3a8d55f
Merge branch 'feat/net5upgrade' of github.com:ThreeMammals/Ocelot int…
TomPallister Nov 25, 2020
94ce022
wip
TomPallister Nov 26, 2020
de0f4f9
build finally working....MAGIC
TomPallister Nov 26, 2020
03c8cd6
works on linux
TomPallister Nov 26, 2020
bdefa2d
dont need .config
TomPallister Nov 26, 2020
a39b5fd
dont need .config
TomPallister Nov 26, 2020
9bc5ad1
dont need this
TomPallister Nov 26, 2020
fdad2bb
update circle build image
TomPallister Nov 26, 2020
b356539
update nuget packages and graphql example
TomPallister Nov 27, 2020
ebf8532
removed rafty and updated more packages
TomPallister Nov 27, 2020
6eed692
more package updates
TomPallister Nov 27, 2020
3255162
wip tests failing
TomPallister Nov 27, 2020
17b0555
tests passing
TomPallister Nov 30, 2020
f62ed72
all packages upgraded and tests passing
TomPallister Dec 1, 2020
ab3533b
bring back develop
TomPallister Dec 1, 2020
ede71c4
updated release process
TomPallister Dec 1, 2020
b2dd70f
release process note
TomPallister Dec 1, 2020
b46feda
rename authorisation to authorization
TomPallister Dec 1, 2020
b74a119
+semver: upgrade to net5.0 (#1390)
TomPallister Dec 11, 2020
3ef6abd
+semver: breaking bump to version 17.0.0
TomPallister Dec 11, 2020
9abd47b
+semver: breaking bump to version 17.0.0 (#1392)
TomPallister Dec 11, 2020
77c6c30
add ocelot logo to repo
Dec 20, 2021
ff6f6e3
update nuget packages to reference ocelot logo from GitHub
Dec 20, 2021
096f94d
update nuget packages to reference ocelot logo from GitHub
Dec 20, 2021
47a024b
fix cake.json version
Dec 20, 2021
ba4b767
use new deletedir api
Dec 20, 2021
3dcc6b6
Merge branch 'feat/fix-build' into develop
Dec 20, 2021
e5ee57b
Feat/net6.0 upgrade (#1558)
TomPallister Jan 20, 2022
52555fc
switch to main for default branch (#1559)
TomPallister Jan 20, 2022
69bd9a8
fix test and use latest coveralls tool
Jan 20, 2022
c07e6ee
use new base image for build & release
Jan 20, 2022
f1db025
install net5.0 in correct place in container
Jan 20, 2022
822a0b0
add nuget tool for publish to cake script
Jan 20, 2022
565968a
use xplat nuget package for cake
Jan 20, 2022
b6b789c
add nuget to cake as a tool
Jan 20, 2022
36ad6e1
use the DotNetNuGet cake code
Jan 20, 2022
96a3fd8
First step
Apr 14, 2023
4afdea3
code cleaning
Apr 14, 2023
c444c25
last packages update
Apr 14, 2023
8920836
+semver: major updated build
TomPallister Apr 22, 2023
07263be
Merge branch 'RaynaldM-upgrade-to-net7' into develop
TomPallister Apr 22, 2023
312f1c6
tests passing on debian 10 (#1647)
TomPallister Apr 22, 2023
b2ec165
updated eddiewebb/queue@2.2.1
TomPallister Apr 22, 2023
66d09e3
updated csmacnz.Coveralls
TomPallister Apr 22, 2023
dec610d
updated csmacnz.Coveralls
TomPallister Apr 22, 2023
4db816a
updated Cake.Coveralls
TomPallister Apr 22, 2023
46b12a2
updated cake syntax
TomPallister Apr 22, 2023
b9cc313
updated nuget package icon url
TomPallister Apr 22, 2023
3bd0f8d
updated report generator (#1648)
TomPallister Apr 22, 2023
fdc761c
updated docs
TomPallister Apr 22, 2023
bc25f4e
push code coverage for main and develop branches
TomPallister Apr 22, 2023
6ca54fe
#1660 Huge logs because of StyleCop.Analyzers warnings (#1663)
raman-m Jun 4, 2023
433dfca
fixed up required spacing in README (#1499)
jusso-dev Jun 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 21 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,43 @@
version: 2.1
orbs:
queue: eddiewebb/queue@2.2.1
jobs:
build:
docker:
- image: mijitt0m/ocelot-build:0.0.1
- image: mijitt0m/ocelot-build:0.0.9
steps:
- checkout
- run: make build
- run: dotnet tool restore && dotnet cake
release:
docker:
- image: mijitt0m/ocelot-build:0.0.1
- image: mijitt0m/ocelot-build:0.0.9
steps:
- checkout
- run: make release
- run: dotnet tool restore && dotnet cake --target=Release
workflows:
version: 2
master:
main:
jobs:
- queue/block_workflow:
time: "20"
only-on-branch: main
- release:
requires:
- queue/block_workflow
filters:
branches:
only: master
only: main
develop:
jobs:
- build:
filters:
branches:
only: develop
pr:
jobs:
- build:
filters:
branches:
ignore:
- master
- main
- develop
18 changes: 18 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": 1,
"isRoot": true,
"tools": {
"cake.tool": {
"version": "3.0.0",
"commands": [
"dotnet-cake"
]
},
"coveralls.net": {
"version": "4.0.1",
"commands": [
"csmacnz.Coveralls"
]
}
}
}
7 changes: 5 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
*/*/bin
*/*/obj
*/*/bin
*/*/obj
artifacts/
TestResults/
tools/
3 changes: 2 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ root = true
end_of_line = lf
insert_final_newline = true

[*.cs]
[*.cs]
end_of_line = lf
indent_style = space
indent_size = 4
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 2010
*.txt -crlf

# 2020
*.txt text eol=lf
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ ClientBin/
*.dbmdl
*.dbproj.schemaview
*.pfx
!idsrv3test.pfx
!mycert.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
Expand Down
20 changes: 0 additions & 20 deletions Makefile

This file was deleted.

38 changes: 25 additions & 13 deletions Ocelot.sln
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29613.14
# Visual Studio Version 17
VisualStudioVersion = 17.0.32112.339
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{5CFB79B7-C9DC-45A4-9A75-625D92471702}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3FA7C349-DBE8-4904-A2CE-015B8869CE6C}"
ProjectSection(SolutionItems) = preProject
.dockerignore = .dockerignore
.editorconfig = .editorconfig
.gitignore = .gitignore
build.cake = build.cake
build.ps1 = build.ps1
codeanalysis.ruleset = codeanalysis.ruleset
.circleci\config.yml = .circleci\config.yml
GitVersion.yml = GitVersion.yml
LICENSE.md = LICENSE.md
README.md = README.md
ReleaseNotes.md = ReleaseNotes.md
releasenotes.md = releasenotes.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5B401523-36DA-4491-B73A-7590A26E420B}"
Expand All @@ -42,15 +44,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Provider.Eureka", "s
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Provider.Polly", "src\Ocelot.Provider.Polly\Ocelot.Provider.Polly.csproj", "{1F6E5DCF-8A2E-4E24-A25D-064362DE8D0E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Provider.Rafty", "src\Ocelot.Provider.Rafty\Ocelot.Provider.Rafty.csproj", "{AC153C67-EF18-47E6-A230-F0D3CF5F0A98}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Tracing.Butterfly", "src\Ocelot.Tracing.Butterfly\Ocelot.Tracing.Butterfly.csproj", "{6045E23D-669C-4F27-AF8E-8EEE6DB3557F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Provider.Kubernetes", "src\Ocelot.Provider.Kubernetes\Ocelot.Provider.Kubernetes.csproj", "{72C8E528-B4F5-45CE-8A06-CD3787364856}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8FA0CBA0-0338-48EB-B37F-83CA5022237C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OcelotBasic", "samples\OcelotBasic\OcelotBasic.csproj", "{ED0B3A09-112B-4BA4-82D6-11569BC7A99B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Samples.OcelotBasic.ApiGateway", "samples\OcelotBasic\Ocelot.Samples.OcelotBasic.ApiGateway.csproj", "{ED0B3A09-112B-4BA4-82D6-11569BC7A99B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdministrationApi", "samples\AdministrationApi\AdministrationApi.csproj", "{B180F8AE-2F8F-44F9-9E5D-FE65B84B742E}"
EndProject
Expand All @@ -64,9 +64,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DownstreamService", "sample
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "k8s", "k8s", "{4B706988-4817-43A8-ABE1-32A67998C2C8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApiGateway", "samples\OcelotKube\ApiGateway\ApiGateway.csproj", "{8500055B-2C51-4CF1-A6EE-F05BB3E9BF16}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Samples.OcelotKube.ApiGateway", "samples\OcelotKube\ApiGateway\Ocelot.Samples.OcelotKube.ApiGateway.csproj", "{8500055B-2C51-4CF1-A6EE-F05BB3E9BF16}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DownstreamService", "samples\OcelotKube\DownstreamService\DownstreamService.csproj", "{7B319B8C-8155-4779-BD93-5ABD05CA2AB6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Samples.OcelotKube.DownstreamService", "samples\OcelotKube\DownstreamService\Ocelot.Samples.OcelotKube.DownstreamService.csproj", "{7B319B8C-8155-4779-BD93-5ABD05CA2AB6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "service-fabric", "service-fabric", "{B412628F-C325-47E1-A8D9-873DE04C8AF5}"
EndProject
Expand All @@ -80,6 +80,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "basic", "basic", "{ED066001
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "graphql", "graphql", "{C15CD120-5F8D-41DE-9B21-00E3EA77D6C1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ocelot.Tracing.OpenTracing", "src\Ocelot.Tracing.OpenTracing\Ocelot.Tracing.OpenTracing.csproj", "{11C622AD-8C0A-4CF4-811B-3DBB76550797}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "open-tracing", "open-tracing", "{731C6A8A-69ED-445C-A132-C638AA93F9C7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OcelotOpenTracing", "samples\OcelotOpenTracing\OcelotOpenTracing.csproj", "{C9427E78-4281-4F59-A66E-17C0B66550E5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -130,10 +136,6 @@ Global
{1F6E5DCF-8A2E-4E24-A25D-064362DE8D0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F6E5DCF-8A2E-4E24-A25D-064362DE8D0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F6E5DCF-8A2E-4E24-A25D-064362DE8D0E}.Release|Any CPU.Build.0 = Release|Any CPU
{AC153C67-EF18-47E6-A230-F0D3CF5F0A98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AC153C67-EF18-47E6-A230-F0D3CF5F0A98}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC153C67-EF18-47E6-A230-F0D3CF5F0A98}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC153C67-EF18-47E6-A230-F0D3CF5F0A98}.Release|Any CPU.Build.0 = Release|Any CPU
{6045E23D-669C-4F27-AF8E-8EEE6DB3557F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6045E23D-669C-4F27-AF8E-8EEE6DB3557F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6045E23D-669C-4F27-AF8E-8EEE6DB3557F}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand Down Expand Up @@ -178,6 +180,14 @@ Global
{33BE6D88-F188-4E60-83AC-3C4B94D24675}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33BE6D88-F188-4E60-83AC-3C4B94D24675}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33BE6D88-F188-4E60-83AC-3C4B94D24675}.Release|Any CPU.Build.0 = Release|Any CPU
{11C622AD-8C0A-4CF4-811B-3DBB76550797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11C622AD-8C0A-4CF4-811B-3DBB76550797}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11C622AD-8C0A-4CF4-811B-3DBB76550797}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11C622AD-8C0A-4CF4-811B-3DBB76550797}.Release|Any CPU.Build.0 = Release|Any CPU
{C9427E78-4281-4F59-A66E-17C0B66550E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9427E78-4281-4F59-A66E-17C0B66550E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9427E78-4281-4F59-A66E-17C0B66550E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9427E78-4281-4F59-A66E-17C0B66550E5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -194,7 +204,6 @@ Global
{02F5AE4D-9C36-4E58-B7C6-012CBBDEFDE0} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{9BBD3586-145C-4FA0-91C5-9ED58287D753} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{1F6E5DCF-8A2E-4E24-A25D-064362DE8D0E} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{AC153C67-EF18-47E6-A230-F0D3CF5F0A98} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{6045E23D-669C-4F27-AF8E-8EEE6DB3557F} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{72C8E528-B4F5-45CE-8A06-CD3787364856} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{ED0B3A09-112B-4BA4-82D6-11569BC7A99B} = {ED066001-BAF7-4117-9884-DF591A56347D}
Expand All @@ -212,6 +221,9 @@ Global
{1F1F324D-6EA4-4E63-A6A7-C6053F412F1A} = {8FA0CBA0-0338-48EB-B37F-83CA5022237C}
{ED066001-BAF7-4117-9884-DF591A56347D} = {8FA0CBA0-0338-48EB-B37F-83CA5022237C}
{C15CD120-5F8D-41DE-9B21-00E3EA77D6C1} = {8FA0CBA0-0338-48EB-B37F-83CA5022237C}
{11C622AD-8C0A-4CF4-811B-3DBB76550797} = {5CFB79B7-C9DC-45A4-9A75-625D92471702}
{731C6A8A-69ED-445C-A132-C638AA93F9C7} = {8FA0CBA0-0338-48EB-B37F-83CA5022237C}
{C9427E78-4281-4F59-A66E-17C0B66550E5} = {731C6A8A-69ED-445C-A132-C638AA93F9C7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {21476EFF-778A-4F97-8A56-D1AF1CEC0C48}
Expand Down
44 changes: 14 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,21 @@
[<img src="https://threemammals.com/ocelot_logo.png">](https://threemammals.com/ocelot)
![Ocelot Logo](/images/ocelot_logo.png)

[![CircleCI](https://circleci.com/gh/ThreeMammals/Ocelot/tree/master.svg?style=svg)](https://circleci.com/gh/ThreeMammals/Ocelot/tree/master)
[![CircleCI](https://circleci.com/gh/ThreeMammals/Ocelot/tree/main.svg?style=svg)](https://circleci.com/gh/ThreeMammals/Ocelot/tree/main)

[![Coverage Status](https://coveralls.io/repos/github/ThreeMammals/Ocelot/badge.svg?branch=master)](https://coveralls.io/github/ThreeMammals/Ocelot?branch=master)

[Slack](threemammals.slack.com)
[![Coverage Status](https://coveralls.io/repos/github/ThreeMammals/Ocelot/badge.svg)](https://coveralls.io/github/ThreeMammals/Ocelot)

# Ocelot

Ocelot is a .NET API Gateway. This project is aimed at people using .NET running
a micro services / service oriented architecture
Ocelot is a .NET API Gateway. This project is aimed at people using .NET running a micro services / service oriented architecture
that need a unified point of entry into their system. However it will work with anything that speaks HTTP and run on any platform that ASP.NET Core supports.

In particular I want easy integration with
IdentityServer reference and bearer tokens.
In particular I want easy integration with IdentityServer reference and bearer tokens.

We have been unable to find this in my current workplace
without having to write our own Javascript middlewares
to handle the IdentityServer reference tokens. We would
rather use the IdentityServer code that already exists
to do this.
We have been unable to find this in my current workplace without having to write our own Javascript middlewares to handle the IdentityServer reference tokens. We would rather use the IdentityServer code that already exists to do this.

Ocelot is a bunch of middlewares in a specific order.

Ocelot manipulates the HttpRequest object into a state specified by its configuration until
it reaches a request builder middleware where it creates a HttpRequestMessage object which is
used to make a request to a downstream service. The middleware that makes the request is
the last thing in the Ocelot pipeline. It does not call the next middleware.
The response from the downstream service is retrieved as the requests goes back up the Ocelot pipeline.
There is a piece of middleware that maps the HttpResponseMessage onto the HttpResponse object and that
is returned to the client. That is basically it with a bunch of other features!
Ocelot manipulates the HttpRequest object into a state specified by its configuration until it reaches a request builder middleware where it creates a HttpRequestMessage object which is used to make a request to a downstream service. The middleware that makes the request is the last thing in the Ocelot pipeline. It does not call the next middleware. The response from the downstream service is retrieved as the requests goes back up the Ocelot pipeline. There is a piece of middleware that maps the HttpResponseMessage onto the HttpResponse object and that is returned to the client. That is basically it with a bunch of other features!

## Features

Expand All @@ -42,22 +28,22 @@ A quick list of Ocelot's capabilities for more information see the [documentatio
* Kubernetes
* WebSockets
* Authentication
* Authorisation
* Authorization
* Rate Limiting
* Caching
* Retry policies / QoS
* Load Balancing
* Logging / Tracing / Correlation
* Headers / Query String / Claims Transformation
* Headers / Method / Query String / Claims Transformation
* Custom Middleware / Delegating Handlers
* Configuration / Administration REST API
* Platform / Cloud Agnostic

## How to install

Ocelot is designed to work with ASP.NET Core only and it targets `netstandard2.0`. This means it can be used anywhere `.NET Standard 2.0` is supported, including `.NET Core 3.1` and `.NET Framework 4.8` and up. [This](https://docs.microsoft.com/en-us/dotnet/standard/net-standard) documentation may prove helpful when working out if Ocelot would be suitable for you.
Ocelot is designed to work with ASP.NET and it targets `net7.0`.

Install Ocelot and it's dependencies using NuGet.
Install Ocelot and it's dependencies using NuGet.

`Install-Package Ocelot`

Expand All @@ -81,18 +67,16 @@ We love to receive contributions from the community so please keep them coming :

Pull requests, issues and commentary welcome!

Please complete the relevant template for issues and PRs. Sometimes it's worth getting in touch with us to discuss changes
before doing any work incase this is something we are already doing or it might not make sense. We can also give
advice on the easiest way to do things :)
Please complete the relevant template for issues and PRs. Sometimes it's worth getting in touch with us to discuss changes before doing any work incase this is something we are already doing or it might not make sense. We can also give advice on the easiest way to do things :)

Finally we mark all existing issues as help wanted, small, medium and large effort. If you want to contribute for the first time I suggest looking at a help wanted & small effort issue :)

## Donate

If you think this project is worth supporting financially please make a contribution using the button below!
If you think this project is worth supporting financially please make a contribution using the button below! We use the money to run the https://threemammals.com website.

[![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/ThreeMammals/)

## Things that are currently annoying me

[![](https://codescene.io/projects/697/status.svg) Get more details at **codescene.io**.](https://codescene.io/projects/697/jobs/latest-successful/results)
[![](https://codescene.io/projects/697/status.svg) Get more details at **codescene.io**.](https://codescene.io/projects/697/jobs/latest-successful/results)
1 change: 0 additions & 1 deletion ReleaseNotes.md

This file was deleted.

Loading