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)
Apr 3 2024, 4:15 PM
Unknown Object (File)
Apr 3 2024, 4:15 PM
Unknown Object (File)
Apr 3 2024, 4:15 PM
Unknown Object (File)
Apr 3 2024, 4:15 PM
Unknown Object (File)
Apr 3 2024, 4:13 PM
Unknown Object (File)
Mar 25 2024, 5:58 AM
Unknown Object (File)
Mar 12 2024, 11:55 PM
Unknown Object (File)
Feb 25 2024, 3:32 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