6 repository-uri
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 6 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 este un strat de traducere și un sistem proxy care permite browserelor web să comunice cu serviciile backend gRPC. Acesta constă dintr-un gRPC Web Proxy care convertește cererile HTTP și WebSocket bazate pe browser în apeluri gRPC standard, împreună cu un client gRPC TypeScript pentru efectuarea de apeluri de procedură la distanță (RPC) puternic tipizate din browsere sau medii Node.js. Proiectul include un bridge de streaming bidirecțional care utilizează WebSockets pentru a ocoli limitările browserului, permițând comunicarea full-duplex și streaming-ul de date client-side. Include un generator de cod pentru protocol buffers care analizează fișierele de schemă pentru a produce clase de cerere și răspuns tipizate în JavaScript și TypeScript. Sistemul acoperă o gamă largă de capabilități, inclusiv selecția transportului, gestionarea CORS pentru a restricționa originile aprobate și conectivitatea backend securizată prin criptare TLS. De asemenea, oferă monitorizarea traficului proxy pentru a urmări cererile și conexiunile prin metrici și endpoint-uri de debug.
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.
Acest proiect este un plugin de validare a protocol buffer-elor și un generator de cod care creează o logică de validare consistentă în mai multe limbaje de programare. Funcționează ca o extensie de compilator pentru toolchain-ul Protocol Buffer, permițând dezvoltatorilor să definească constrângeri semantice direct în fișierele de schemă pentru a asigura consistența datelor. Instrumentul utilizează opțiuni personalizate pentru a încorpora reguli de validare în definițiile mesajelor, mapând aceste constrângeri de schemă la tipare de implementare specifice limbajului. Utilizează verificarea constrângerilor bazată pe predicate și parcurgerea recursivă pentru a impune reguli în ierarhiile de mesaje imbricate. Suprafața de validare acoperă intervale și valori numerice, tipare și formate de șiruri, constrângeri de secvențe de octeți și impunerea enum-urilor. De asemenea, gestionează dimensiunile colecțiilor și câmpurilor repetate, validarea tipurilor complexe pentru timestamp-uri și durate, precum și cerințele pentru selecția câmpurilor de tip union.
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
This library provides a framework for implementing gRPC clients and services in Rust, enabling reliable communication between distributed system components. It facilitates the definition and hosting of asynchronous unary and streaming network services, utilizing protocol buffers to ensure consistent, strongly-typed data exchange. The project distinguishes itself by integrating with a high-performance C core via foreign function interfaces to handle low-level networking and protocol logic. It employs a task-based concurrency model to coordinate non-blocking operations and utilizes zero-copy me
Generates strongly-typed source code and interface stubs from structured protocol buffer definitions.