[C++] Modifying rpc url paths

53 views
Skip to first unread message

Arpit Baldeva

unread,
Nov 1, 2017, 6:01:31 PM11/1/17
to grpc.io
Hi,

Currently, looks like rpc urls are generated in the form of /<package name>/<rpc name>. Is there a way to prefix the urls such that grpc client could call <fixed prefix>/<package name>/<rpc name>? The receiver can chop off the prefix and call the correct rpc.

Use case: We'd like to have a proxy sitting between our client and grpc server. The proxy will serve multiple clients. So a client could call ourdomain.com/<something specific to client>/<package name>/<rpc name>. The proxy will chop off <something specific to client> and reroute the rpc to correct handling instance. 

One option to do it would be via custom header but was wondering if url prefixing has been thought of/brought up before?

Thanks. 

Carl Mastrangelo

unread,
Nov 2, 2017, 1:17:44 PM11/2/17
to grpc.io
You can do this by forking the protoc code generator and adding in the proper path.  The path we use is normalized based on experience at Google, but there is nothing strict about it in the protocol.  I think all grpc libraries support dynamic method dispatch, so you can us pretty much any formula as long as it follows http.

Eric Anderson

unread,
Nov 2, 2017, 1:48:48 PM11/2/17
to Arpit Baldeva, grpc.io
Use a custom header. gRPC does not like alternative paths. It is possible, just a pain.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscribe@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/65e47a3f-c51e-4d34-b6a0-601badd8091f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Arpit Baldeva

unread,
Nov 2, 2017, 5:37:20 PM11/2/17
to grpc.io
Okay - thx for the info. 

As per previous comment about protoc forking,we want to avoid it. The reason being we'd want people to be able to use an off the shelf protoc. 


On Thursday, November 2, 2017 at 10:48:48 AM UTC-7, Eric Anderson wrote:
Use a custom header. gRPC does not like alternative paths. It is possible, just a pain.
On Wed, Nov 1, 2017 at 3:01 PM, Arpit Baldeva <abal...@gmail.com> wrote:
Hi,

Currently, looks like rpc urls are generated in the form of /<package name>/<rpc name>. Is there a way to prefix the urls such that grpc client could call <fixed prefix>/<package name>/<rpc name>? The receiver can chop off the prefix and call the correct rpc.

Use case: We'd like to have a proxy sitting between our client and grpc server. The proxy will serve multiple clients. So a client could call ourdomain.com/<something specific to client>/<package name>/<rpc name>. The proxy will chop off <something specific to client> and reroute the rpc to correct handling instance. 

One option to do it would be via custom header but was wondering if url prefixing has been thought of/brought up before?

Thanks. 

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.

Divakar Y

unread,
Feb 14, 2018, 2:26:21 AM2/14/18
to grpc.io
Any update or any other suggestion for the same.
Reply all
Reply to author
Forward
0 new messages