5 Repos
API code generators that produce server stubs and client packages for multiple transport protocols from a single definition.
Distinct from API Code Generators: Distinct from API Code Generators: adds multi-protocol transport support (HTTP, gRPC, WebSocket) to code generation.
Explore 5 awesome GitHub repositories matching development tools & productivity · Multi-Protocol Code Generators. Refine with filters or upvote what's useful.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Generates HTTP, gRPC, and WebSocket server stubs and client packages from a single design definition.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Compiles a single definition into multiple output formats like OpenAPI, JSON Schema, and Protobuf.
grpc-web ist eine Übersetzungsschicht und ein Proxy-System, das es Webbrowsern ermöglicht, mit gRPC-Backend-Diensten zu kommunizieren. Es besteht aus einem gRPC-Web-Proxy, der browserbasierte HTTP- und WebSocket-Anfragen in Standard-gRPC-Aufrufe umwandelt, sowie einem TypeScript-gRPC-Client für typsichere Remote Procedure Calls aus Browsern oder Node.js-Umgebungen. Das Projekt bietet eine bidirektionale Streaming-Bridge, die WebSockets nutzt, um Browser-Einschränkungen zu umgehen, was Vollduplex-Kommunikation und clientseitiges Daten-Streaming ermöglicht. Es enthält einen Protocol-Buffer-Codegenerator, der Schema-Dateien parst, um typisierte JavaScript- und TypeScript-Request- und Response-Klassen zu erstellen. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich Transportauswahl, CORS-Management zur Einschränkung genehmigter Ursprünge und sicherer Backend-Konnektivität via TLS-Verschlüsselung. Es bietet zudem Proxy-Traffic-Überwachung zur Verfolgung von Anfragen und Verbindungen durch Metriken und Debug-Endpunkte.
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
Defines query plans that enforce resource access conditions at the database level.
Dieses Projekt ist ein Protocol-Buffer-Validierungs-Plugin und Code-Generator, der konsistente Validierungslogik über mehrere Programmiersprachen hinweg erstellt. Es fungiert als Compiler-Erweiterung für die Protocol-Buffer-Toolchain und ermöglicht es Entwicklern, semantische Constraints direkt in Schema-Dateien zu definieren, um Datenkonsistenz sicherzustellen. Das Tool verwendet benutzerdefinierte Optionen, um Validierungsregeln in Nachrichtendefinitionen einzubetten und diese Schema-Constraints auf sprachspezifische Implementierungsmuster zu mappen. Es nutzt prädikatbasierte Constraint-Prüfung und rekursive Traversierung, um Regeln über verschachtelte Nachrichtenhierarchien hinweg durchzusetzen. Die Validierung umfasst numerische Bereiche und Werte, String-Muster und -Formate, Byte-Sequenz-Constraints sowie Enum-Durchsetzung. Zudem verwaltet es Sammlungen und Größen wiederholter Felder, komplexe Typvalidierung für Zeitstempel und Zeitdauern sowie Anforderungen für die Auswahl von Union-Feldern.
Defines semantic constraints in Protobuf schemas to automatically generate code that ensures incoming messages are valid and consistent.