Issues with proxying gRPC services to web, and a potential prototype

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • grpc-web-framework

    Web proxy framework for multiple GRPC services

  • So, I 'm struggling to find something that provides all of the above. I've started working on this: https://github.com/EwanValentine/grpc-web-framework which uses a combination of generics and some marshalling helper functions in the protobuf library, but wanted to triple check with the community if there's a better way of doing this, before I embark on building something myself. Does anyone do something similar here, or have had similar issues, if so, what did you end up doing?

  • connect-go

    Discontinued Moved to https://github.com/connectrpc/connect-go

  • Consider checking out https://connect.build from https://buf.build. Supports a simpler protocol than grpc-web. Includes a js/ts client for frontend. Then you don’t necessarily need a rest layer, but could leverage the proxy your building.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • buf

    The best way of working with Protocol Buffers.

  • Consider checking out https://connect.build from https://buf.build. Supports a simpler protocol than grpc-web. Includes a js/ts client for frontend. Then you don’t necessarily need a rest layer, but could leverage the proxy your building.

  • grpc-gateway

    gRPC to JSON proxy generator following the gRPC HTTP spec

  • Have you looked at https://github.com/grpc-ecosystem/grpc-gateway ?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts