{"id":18003748,"url":"https://github.com/vaayne/envoy-grpc-json-example","last_synced_at":"2026-07-21T06:39:53.457Z","repository":{"id":116240331,"uuid":"465215245","full_name":"vaayne/envoy-grpc-json-example","owner":"vaayne","description":"envoy-grpc-json-example","archived":false,"fork":false,"pushed_at":"2022-03-02T08:47:16.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T15:57:57.508Z","etag":null,"topics":["envoyproxy","grpc-gateway","grpc-go"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaayne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-02T08:16:06.000Z","updated_at":"2022-03-02T08:48:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"7214e35a-857c-48e7-b98c-dbf59b81ee5f","html_url":"https://github.com/vaayne/envoy-grpc-json-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vaayne/envoy-grpc-json-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaayne%2Fenvoy-grpc-json-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaayne%2Fenvoy-grpc-json-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaayne%2Fenvoy-grpc-json-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaayne%2Fenvoy-grpc-json-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaayne","download_url":"https://codeload.github.com/vaayne/envoy-grpc-json-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaayne%2Fenvoy-grpc-json-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35713696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-21T02:00:06.728Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["envoyproxy","grpc-gateway","grpc-go"],"created_at":"2024-10-30T00:10:57.590Z","updated_at":"2026-07-21T06:39:53.403Z","avatar_url":"https://github.com/vaayne.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# envoy-grpc-json-example\nenvoy-grpc-json-example\n\nexample for envoy grpc-json transcode\n\n# Usage\n\n- `make run` to run services\n- `sh verify.sh` to check\n\n# Tech Stack\n\n- [envoy](https://github.com/envoyproxy/envoy)\n- [grpc-go](https://github.com/grpc/grpc-go)\n- [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway)\n- [buf](https://github.com/bufbuild/buf)\n- [protoc-gen-validate](https://github.com/envoyproxy/protoc-gen-validate)\n\n# Issues\n\n### Route config not right\n\n[Envoy doc](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter#route-configs-for-transcoded-requests)\nsay path will be `\u003cpackage\u003e.\u003cservice\u003e/\u003cmethod\u003e` , but it not act like that.\n\nconfig already set `match_incoming_request_route=false`\n\nFor example:\n`Status` only match `/status`, do not match `/helloworld.Greeter/Status`\n```\nservice Greeter {\n  rpc Status(Empty) returns (StatusResponse) {\n    option (google.api.http) = {\n      get: \"/status\"\n    };\n  }\n}\n```\n\n`SayHello` match `/helloworld.Greeter/Status` only because I set the path in `google.api.http`\n```\nservice Greeter {\n  rpc SayHello (HelloRequest) returns (HelloReply) {\n    option (google.api.http) = {\n      get: \"/helloworld.Greeter/SayHello\"\n    };\n  }\n}\n```\n\n\n### config not working\n\n[config doc](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto#envoy-v3-api-msg-extensions-filters-http-grpc-json-transcoder-v3-grpcjsontranscoder)\n\n- match_incoming_request_route\n- auto_mapping\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaayne%2Fenvoy-grpc-json-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaayne%2Fenvoy-grpc-json-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaayne%2Fenvoy-grpc-json-example/lists"}