Skip to content

feat: allow grpc web in non prefix based routes#12830

Merged
shreemaan-abhishek merged 3 commits into
apache:masterfrom
shreemaan-abhishek:fix/fixed-route-path-grpc-web
Jan 1, 2026
Merged

feat: allow grpc web in non prefix based routes#12830
shreemaan-abhishek merged 3 commits into
apache:masterfrom
shreemaan-abhishek:fix/fixed-route-path-grpc-web

Conversation

@shreemaan-abhishek

@shreemaan-abhishek shreemaan-abhishek commented Dec 22, 2025

Copy link
Copy Markdown
Contributor

Description

Previously we only allowed routes with prefix matched based URI to be used with grpc-web, this is a limitation are there are valid use cases where grpc-web can be used to directly use the path configured in the route. Example: the grpc-web client library structures URI exactly in the format specified in the route URI. This limitation has been removed in this PR.

Checklist

  • I have explained the need for this PR and the problem it solves
  • I have explained the changes or the new features added to this PR
  • I have added tests corresponding to this change
  • I have updated the documentation to reflect this change
  • I have verified that this change is backward compatible (If not, please discuss on the APISIX mailing list first)

Signed-off-by: Abhishek Choudhary <[email protected]>
@shreemaan-abhishek
shreemaan-abhishek force-pushed the fix/fixed-route-path-grpc-web branch from da5cfe2 to 1a3be84 Compare December 22, 2025 07:41
Signed-off-by: Abhishek Choudhary <[email protected]>
@shreemaan-abhishek
shreemaan-abhishek marked this pull request as ready for review December 23, 2025 05:46
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request labels Dec 23, 2025
@shreemaan-abhishek
shreemaan-abhishek merged commit 7b665be into apache:master Jan 1, 2026
24 of 26 checks passed

:::info IMPORTANT

While using the `grpc-web` Plugin, always use a prefix matching pattern (`/*`, `/grpc/example/*`) for matching Routes. This is because the gRPC Web client passes the package name, the service interface name, the method name and other information in the proto in the URI. For example, `/path/a6.RouteService/Insert`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to remove this note from zh doc as well

wistefan pushed a commit to wistefan/apisix that referenced this pull request Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants