Comments (12)
No, unfortunately, I can't show you the delegating handler code. I catched the problem on staging environment.
from ocelot.
@raman-m I've the same problem with the following configuration
"UpstreamPathTemplate": "/{serviceVersion}/myService/{any}",
"DownstreamPathTemplate": "v3.0/api/myRemoteService/{any}"
In my case it doesn't matter what {serviceVersion}
is set on the UpstreamPathTemplate, the DownstreamPathTemplate must forwards request to version v3.0
from ocelot.
Yes, I can provide the fake delegating handler. I could write the acceptance test too.
from ocelot.
Now I'm testing the hotfix... I'll open a PR soon...
from ocelot.
@ggnaegi @RaynaldM @Fabman08
Welcome to code review for #2032 !
@ggnaegi
You could add acceptance test for your user scenario if you want.
from ocelot.
@ggnaegi
Thanks for reporting!
What environment did you catch the problem in? Production or development?
And, first of all, show the code of your delegating handler please.
from ocelot.
As mentioned, there are plenty of possible use cases where you could end up with the placeholders not matching. It's quite obvious in my opinion.
from ocelot.
In my opinion this is not so obvious.
I don't see delegation handler code or overridden services in DI. Impossible to advise or discuss what is hidden.
It's very strange to report a problem and then talk about the code being closed.
Our project is an open source project ❗
All discussions and source code should be publicly available.
from ocelot.
I don't want to argue about this any longer, thanks. I think we have added to much validation there, that's it. I will come back with a new PR later.
from ocelot.
🤯 🤣
No, we will continue to search for an ideal solutions...
This is our destiny!
from ocelot.
🦄 👑 🌈
from ocelot.
I'm using a delegating handler to transform some upstream route parameters before calling the downstream service. eg. upstream: api/v1/service/endpoint/{upParam1}/{upParam2} -> downstream api/v1/internal-service/endpoint/{downParam}. It was working like a charm, since Release 23.2 it's not possible anymore.
@ggnaegi
How to emulate your user scenario?
Can we test it? I expect it is necessary to write a fake delegating handler in acceptance test.
Is it a new feature or custom hybrid setup in your app?
Will you help to write acceptance test?
from ocelot.
Related Issues (20)
- Rate Limiting issues in Ocelot HOT 6
- Ocelot Downstream Request Timeout HOT 5
- How to find servicename on PreAuthorizationMiddleware HOT 1
- Proposal to add ExtraProps to the configuration HOT 5
- Regression at DownstreamUrlCreatorMiddleware HOT 6
- Enhancing Ocelot to Automatically Forward Claims from IdentityServer's Introspection Endpoint to Backend Services HOT 1
- how to document rate limit in swagger HOT 1
- Long duration of CircleCI builds HOT 1
- Map response of rate limit quota into exception
- On the fly `ocelot.json` configuration merging HOT 1
- Body cannot be forwarded twice on Aggregator HOT 17
- 当下游服务返回"text/plain"类型时导致"response.Body"中变得异常得长,这正常吗?
- Resolving 'IsAuthenticated' False Issue with Ocelot API Gateway and OKTA Authentication
- `FileCacheOptions` not working after the header was introduced in FileCache settings in version 23.0.0 HOT 4
- Receiving 401 depending on the order of my API Route, when calling API's through Ocelot API Gateway
- Getting load balancer error with latest version HOT 6
- Incorrect routing when the query parameter is in the configuration
- Unusual spike in response with 499 status code HOT 24
- Downstream route is not allowed to end on a forward slash HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ocelot.