Page MenuHomePhabricator

[identity] enable grpc-web on identity service
ClosedPublic

Authored by varun on Mar 29 2023, 3:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Feb 12, 4:08 PM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Sat, Feb 1, 7:50 AM
Unknown Object (File)
Mon, Jan 20, 10:00 PM
Subscribers

Details

Summary

tonic_web::enable will apply a CORS default configuration, returning a tower_http::cors::Cors instance that works well with grpc-web clients out of the box.
However, the server builder's add_service method requires that the NamedService trait be implemented for its input, and tower_http::cors::Cors does not implement this trait.
To get around this, I've written a service wrapper that implements the Service and NamedService traits.

Test Plan

called generateNonce using normal grpc and grpc-web (BloomRPC supports both) and got back a nonce string

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable