5 repositorios
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 es una capa de traducción y sistema de proxy que permite a los navegadores web comunicarse con servicios backend de gRPC. Consiste en un proxy gRPC Web que convierte las solicitudes HTTP y WebSocket basadas en navegador en llamadas gRPC estándar, junto con un cliente gRPC de TypeScript para realizar llamadas a procedimientos remotos fuertemente tipadas desde navegadores o entornos Node.js. El proyecto cuenta con un puente de streaming bidireccional que utiliza WebSockets para eludir las limitaciones del navegador, permitiendo la comunicación full-duplex y el streaming de datos del lado del cliente. Incluye un generador de código de buffers de protocolo que analiza archivos de esquema para producir clases de solicitud y respuesta tipadas en JavaScript y TypeScript. El sistema cubre una amplia gama de capacidades, incluyendo selección de transporte, gestión de CORS para restringir orígenes aprobados y conectividad backend segura mediante cifrado TLS. También proporciona monitoreo de tráfico de proxy para rastrear solicitudes y conexiones a través de métricas y endpoints de depuración.
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.
Este proyecto es un plugin de validación de buffers de protocolo y generador de código que crea lógica de validación consistente en múltiples lenguajes de programación. Funciona como una extensión de compilador para el toolchain de Protocol Buffer, permitiendo a los desarrolladores definir restricciones semánticas directamente dentro de archivos de esquema para asegurar la consistencia de los datos. La herramienta utiliza opciones personalizadas para incrustar reglas de validación en definiciones de mensajes, mapeando estas restricciones de esquema a patrones de implementación específicos del lenguaje. Emplea comprobación de restricciones basada en predicados y recorrido recursivo para aplicar reglas a través de jerarquías de mensajes anidadas. La superficie de validación cubre rangos y valores numéricos, patrones y formatos de cadena, restricciones de secuencias de bytes y cumplimiento de enums. También gestiona tamaños de colecciones y campos repetidos, validación de tipos complejos para marcas de tiempo y duraciones, y requisitos para la selección de campos de unión.
Defines semantic constraints in Protobuf schemas to automatically generate code that ensures incoming messages are valid and consistent.