Comments (3)
Thanks for getting back to me. I think the safest thing for us to do is simply revert the PR that introduced the regression for now, then consider a new implementation that isn't subject to this problem. I'll take care of that.
from grpc-gateway.
Hi Jan, thank you so much for this detailed issue. First of all let me express my apologies for this. Secondly, I'm extremely impressed with the lengths you've gone to, both to create a test to reproduce the issue and to drill down and discover the cause. Bravo! Would you be interested in submitting a fix for this? I'm ready to revert the PR that introduced the issue of course but if you intend to submit a fix we can avoid it. Thanks!
from grpc-gateway.
Hi Johan. You're welcome. I want this to be fixed and thus, I'm doing my best to support wherever I can. However there are two aspects which hinder me in providing a fix:
- I have no glue about the very complex internal data model so far. I couldn't figure out how to create unit test in
protoc-gen-grpc-gateway/internal/gengateway/template_test.go
for this issue because there are some examples with nested items in repo, but they all work with HTTP POSTs and I wasn't able to turn them into working examples for GET. - I have not yet a real idea how to fix the issue. Somehow all parents of nested targets and all their JSON names need to be taken into consideration I guess. But again, currently I have no overview of the data model and what would be possible with the amount of metadata available at this point.
However, I'm eager to help and if somebody could assist by providing a test in the context of 1), it could give me a big knowledge-boost in that area. Maybe enough to fix that issue.
from grpc-gateway.
Related Issues (20)
- JSONPb marshaler doesn't use indent on non proto fields
- WriteHeader is not called on 200s HOT 1
- How to set cookie to http response header? Why it doesn't work. HOT 2
- Adding custom mux endpoint to openapi output HOT 3
- The API Gateway Vision HOT 2
- Support disabling default response rendering in bazel rule HOT 1
- Example and pattern annotations are not respect for query and path parameters HOT 8
- FieldMask as query param is not converted to snake case HOT 1
- an google.protobuf.Any type how to get openapiv2 output? HOT 1
- omit-enum-default-value Generates Invalid Spec for Enums with a Single Value HOT 1
- Content-Length not set in ForwardResponseMessage HOT 5
- Log level for errors is "info" HOT 5
- On `context deadline exceeded`, response headers aren't set HOT 3
- Add support for Etag & If-None-Match headers HOT 6
- TestOutgoingTrailerMatcher is non-deterministic
- How to remove @type or type_url after marshal google.protobuf.Any? HOT 3
- Feat: add http handler middleware HOT 1
- `X-Forwarded-For` header is not handled correctly HOT 2
- README.md: link to Wiki of "tool dependency" has been moved to go.dev HOT 1
- undefined: grpc.NewClient HOT 1
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 grpc-gateway.