4 Repos
The process of agreeing on application protocols during the WebSocket handshake.
Distinct from WebSockets: Focuses on the handshake negotiation of subprotocols like GraphQL, rather than the general WebSocket connection.
Explore 4 awesome GitHub repositories matching web development · Subprotocol Negotiation. Refine with filters or upvote what's useful.
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
Handles the exchange of protocol headers during the WebSocket handshake to agree on specific application protocols.
This is a header-only C++ library and asynchronous network framework used to implement WebSocket clients and servers. It provides a full implementation of the WebSocket protocol, including handshakes, subprotocol negotiation, and frame parsing. The framework is distinguished by a policy-based transport layer and template-driven protocol negotiation, allowing the underlying network implementation to be swapped between raw buffers, streams, or custom policies. It supports per-message deflate compression to reduce data transmission volume and integrates Transport Layer Security for encrypted bid
Enables template-driven negotiation of application-level subprotocols during the WebSocket handshake.
CloudEvents is an open specification for describing event data in a common format across cloud platforms and services. It defines a standard structure and set of metadata attributes for events, enabling interoperability across different systems so producers and consumers can exchange events without custom translation. The specification provides a protocol-agnostic serialization framework that maps CloudEvents attributes and payloads to multiple serialization formats including JSON, Avro, and Protobuf, and defines transport bindings for mapping events onto protocols like HTTP, AMQP, Kafka, MQTT
Specifies how to negotiate a CloudEvents subprotocol during the WebSocket handshake for serialization format agreement.
Beast ist eine C++-Bibliothek zur Implementierung von Low-Level-HTTP- und WebSocket-Clients sowie -Servern. Es fungiert als asynchrones Networking-Framework, das darauf ausgelegt ist, nicht-blockierende I/O-Operationen und geschichtete Stream-Stacks zur Verwaltung von gleichzeitigem Netzwerkverkehr zu kombinieren, wobei speziell das asynchrone Modell von Boost.Asio genutzt wird. Die Bibliothek bietet eine umfassende Implementierung der HTTP/1.1- und WebSocket-Protokolle. Für HTTP enthält sie Primitive zum Parsen und Serialisieren von Nachrichten mit Unterstützung für Chunked-Transfer-Encoding, inkrementelles Body-Lesen und Request-Pipelining. Die WebSocket-Implementierung deckt den gesamten Lebenszyklus der bidirektionalen Kommunikation ab, einschließlich Handshakes, Subprotokoll-Aushandlung, Nachrichtenfragmentierung und Liveness-Monitoring via Control-Frames. Beast enthält eine spezialisierte Suite von Tools für das Netzwerk-Buffer-Management, um Scatter-Gather-I/O durch dynamische und sequenzbasierte Speicherpuffer zu optimieren. Es deckt zudem sichere Netzwerkkommunikation durch die Integration von SSL/TLS-Layern für verschlüsselte Streams, Zertifikatsauthentifizierung und sichere Verbindungsbeendigung ab. Das Framework bietet plattformübergreifende Abstraktionen für Datei-I/O und System-Signal-Management, um die Entwicklung stabiler Netzwerkanwendungen zu unterstützen.
Implements the process of negotiating and selecting supported application subprotocols during the WebSocket handshake.