29 Repos
Routing mechanisms that map incoming HTTP requests to internal handler callbacks and manage their lifecycles.
Distinct from HTTP Request Dispatchers: Shortlist candidates focus on outbound requests or cron-scheduled requests, not inbound server-side routing.
Explore 29 awesome GitHub repositories matching networking & communication · HTTP Request Dispatching. Refine with filters or upvote what's useful.
Dieses Projekt ist eine Node.js HTTP-Reverse-Proxy-Middleware, die darauf ausgelegt ist, eingehenden HTTP- und WebSocket-Traffic an Backend-Dienste weiterzuleiten. Es fungiert als dynamische Routing-Engine und API-Gateway-Tool, das die Möglichkeit bietet, mehrere Backend-Dienste hinter einem einzigen Einstiegspunkt zu konsolidieren. Die Middleware verfügt über eine WebSocket-Proxy-Bridge, die Protokoll-Upgrade-Handshakes verwaltet, um eine persistente bidirektionale Kommunikation aufrechtzuerhalten. Sie enthält zudem einen Request- und Response-Transformer, der dazu dient, Header, Bodies und URL-Pfade während des Transits abzufangen und zu modifizieren. Das System bietet umfassende Traffic-Management-Funktionen, einschließlich Request-Filterung via Glob-Matching und Pfadmustern sowie dynamischem Request-Routing. Es unterstützt detaillierte Datentransformation durch Pfad-Rewriting, Anpassung von Cookie-Attributen sowie Modifikation von Request- oder Response-Bodies. Das Projekt ist in TypeScript geschrieben.
Implements a routing engine to direct network requests to different target servers using path patterns and glob matching.
Twirp ist ein Protocol-Buffers-RPC-Framework, das für die Implementierung von typsicherer, verteilter Microservices-Kommunikation über HTTP entwickelt wurde. Es fungiert als Framework für die Microservices-Kommunikation und als API-Codegenerator, der stark typisierte Client-Stubs und Server-Interfaces aus Schemadefinitionen erstellt, um manuellen Netzwerk-Boilerplate-Code zu eliminieren. Das Framework stellt die Kompatibilität mit bestehender Web-Infrastruktur sicher, indem es Remote Procedure Calls über Standard-HTTP-Transport ausführt. Es verwendet schema-gesteuerte Verträge als Single Source of Truth, um sprachübergreifende Interoperabilität zu ermöglichen und Geschäftslogik vom Netzwerktransport zu entkoppeln. Das System deckt mehrere Kernbereiche ab, einschließlich interface-gesteuertem Routing, Daten-Serialisierung in mehreren Formaten (unterstützt sowohl JSON als auch Binärdaten) und Request-Lifecycle-Middleware für übergreifende Belange. Es bietet zudem ein standardisiertes Fehlermeldesystem, um Dienstfehler in maschinenlesbare Codes zu übersetzen, und enthält Tools zur Überprüfung der Client-Kompatibilität.
Maps incoming HTTP requests to specific service methods using routing logic derived from API interfaces.
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
Maps incoming HTTP requests to specific components using exact paths or wildcards.
CocoaHTTPServer ist ein leichtgewichtiger eingebetteter Webserver, der darauf ausgelegt ist, eingehende Netzwerkanfragen zu verarbeiten und lokale Anwendungsinhalte bereitzustellen. Das Projekt implementiert Bonjour-basierte Dienst-Erkennung, um die Serververfügbarkeit in lokalen Netzwerken zu verbreiten, und unterstützt WebDAV für die Remote-Dateiverwaltung, was es ermöglicht, Dateien über HTTP zu erstellen, zu verschieben und zu bearbeiten. Netzwerksicherheit wird durch zertifikatsbasierte TLS-Verschlüsselung und passwortbasierte Ressourcenauthentifizierung gehandhabt. Das Request-Routing wird über ein Delegate-basiertes System verwaltet, während gleichzeitige Verbindungen mithilfe von Grand Central Dispatch gehandhabt werden.
Routes incoming HTTP requests to specific application logic through a set of defined callback methods.
Director is a routing library for JavaScript that handles URL and command-line pattern matching across client-side, server-side, and CLI environments. It provides a unified approach to defining routes as nested object literals, where each key maps to a URL segment and its handler, supporting both hash fragment monitoring and the HTML5 History API for browser navigation without page reloads. The library distinguishes itself through its ability to operate in multiple contexts with a single routing paradigm. It supports asynchronous handler queue execution for sequential tasks like authenticatio
Matches incoming HTTP request method and path against a routing table and dispatches the associated handler function.
NGINX Unit is an open-source application server designed to natively execute code across multiple programming language runtimes and WebAssembly within a single process. It serves as a multi-language application server that can run applications written in Go, Java, Node.js, Perl, PHP, Python, Ruby, and WebAssembly side by side, without requiring separate runtime environments for each language. The server distinguishes itself through a RESTful JSON control API that enables dynamic, zero-downtime configuration changes without restarting the server. It combines event-driven asynchronous I/O with
Directs incoming HTTP requests to different handlers based on URL, headers, cookies, or other request properties.
ServiceStack ist ein hochperformantes .NET-Webframework für den Bau typsicherer APIs unter Verwendung stark typisierter Request- und Response-Objekte. Es fungiert als nachrichtenbasierte API-Engine, die Geschäftslogik von der Transportschicht entkoppelt, wodurch Services über mehrere Protokolle wie HTTP, gRPC und verschiedene Message-Queue-Provider bereitgestellt werden können. Das Framework zeichnet sich durch seinen typsicheren API-Generator aus, der native Client-SDKs und Data Transfer Objects (DTOs) aus Service-Metadaten über mehrere Sprachen hinweg produziert. Es enthält zudem ein verteiltes Service-Gateway für Microservices-Orchestration, ein Code-First-ORM zur direkten Übersetzung von C#-Objekten in Datenbankdatensätze sowie ein zentralisiertes Identitäts- und Zugriffsmanagementsystem für sicheren tokenbasierten Zugriff. Die breitere Funktionspalette deckt asynchrones Messaging und Echtzeit-Event-Streaming durch Pub-Sub und Server-Sent Events ab. Es bietet umfassende Unterstützung für Datenserialisierung in Formaten wie JSON, XML, ProtoBuf und MessagePack, neben integrierten Authentifizierungs-Flows wie JWT, API-Keys und Step-up-Authentifizierung. Zusätzliches Tooling umfasst automatisierte CRUD-API-Generierung, Hintergrund-Job-Ausführung und Vorlagen für administrative Dashboards.
Binds HTTP path and query data into strongly typed objects to route requests to specific service routines.
serverless-express ist ein Node.js-Serverless-Framework-Adapter, der es ermöglicht, Standard-Web-Frameworks auf Serverless-Compute auszuführen. Er nutzt eine Kompatibilitätsschicht, um Cloud-Gateway-Events und Trigger auf Standard-HTTP-Request- und Response-Objekte abzubilden. Das Projekt verfügt über einen Full-Stack-Code-Generator, der API-Endpunkte, Datenbankschemata und Frontend-Boilerplate aus zentralisierten Entity-Relationship-Konfigurationen erstellt. Es enthält einen Serverless-Event-Router zur Übersetzung von Nicht-HTTP-Cloud-Events in simulierte HTTP-Requests sowie ein Tool zur Bereitstellung von NoSQL-Datenbanken und Cloud-Ressourcen mittels deklarativer Infrastructure-as-Code-Templates. Zusätzliche Funktionen decken Cloud-Identity-Integration für tokenbasierte Zugriffskontrolle, automatisierte Deployment-Pipelines zur Verwaltung von Umgebungsstufen und Datenmodellierung für die automatisierte CRUD-API-Generierung ab. Das System bietet zudem Dienstprogramme für Base64-Binärkodierung, strukturiertes Application-Logging und transaktionalen E-Mail-Versand. Die lokale Anwendungsausführung wird für Entwicklung und Tests unterstützt, ohne dass ein Cloud-Deployment erforderlich ist.
Directs non-HTTP cloud events to application endpoints by simulating standard HTTP POST requests within the environment.
FastRoute ist ein PHP-Request-Router, der eingehende HTTP-Request-URIs spezifischen Handlern zuordnet. Er fungiert als Regular-Expression-Router, der dynamische Request-Pfade mit Mustern abgleicht, um Variablen zu extrahieren und Datenverkehr zu routen. Das Projekt arbeitet als gecachter Route-Dispatcher, der vorkompilierte Routing-Tabellen speichert, um den Overhead des Parsens von Definitionen bei jedem Request zu eliminieren. Es nutzt Regular-Expression-Gruppierung, um mehrere Routenmuster in einer einzigen Operation zu kombinieren, was die Gesamtzahl der für die Auflösung erforderlichen Abgleichschritte reduziert. Die Bibliothek deckt die Verwaltung dynamischer API-Endpunkte durch die Verwendung von Platzhaltermustern und optionalen Segmenten ab. Sie bietet Funktionen für gruppenbasiertes Präfixing zur Organisation von Endpunkten und ermöglicht benutzerdefinierte Routing-Logik durch den Austausch von Parser, Datengenerator oder Dispatcher.
Uses a cached routing mechanism to eliminate the overhead of parsing route definitions on every request.
Mercure ist ein HTTP-basierter Message-Broker und Echtzeit-Pub/Sub-Server, der asynchrone Daten-Updates an autorisierte Abonnenten routet. Er fungiert als zentraler Hub, der Daten über Standard-HTTP-Requests empfängt und sie mittels des Server-Sent-Events-Protokolls an Web-Clients überträgt. Das Projekt zeichnet sich dadurch aus, dass es WebSockets durch eine unidirektionale HTTP-Verbindung ersetzt und HTTP/2 sowie HTTP/3 für multiplexte, latenzarme Übertragung nutzt. Es implementiert eine sichere Zugriffskontrollschicht unter Verwendung von JSON Web Tokens (JWT) und JSON Web Signatures (JWS), um die Identität von Publishern und Abonnenten zu validieren, und unterstützt End-to-End-Payload-Verschlüsselung via JSON Web Encryption (JWE). Das System deckt Hochverfügbarkeits-Clustering und horizontale Skalierung für ereignisgesteuerte Architekturen ab, einschließlich der Wiederherstellung der Event-Historie, um verpasste Updates nach Client-Verbindungsabbrüchen zu synchronisieren. Die operative Oberfläche umfasst Leistungsüberwachung, Client-Presence-Tracking und Request-Throttling. Der Hub kann als selbstgehostetes Binary, innerhalb containerisierter Umgebungen wie Kubernetes oder über einen Managed-Provisioning-Service bereitgestellt werden.
Functions as a centralized hub that receives data via HTTP requests and dispatches them to subscribers.
serverless-offline ist ein Serverless-Framework-Plugin, das eine lokale Cloud-Infrastruktur simuliert. Es fungiert als lokaler AWS-Lambda-Emulator und AWS-API-Gateway-Mock, was die Entwicklung und das Testen von Serverless-Funktionen auf dem lokalen Rechner ermöglicht, ohne sie bei einem Remote-Provider bereitstellen zu müssen. Das Projekt simuliert bidirektionale WebSocket-Verbindungen und Message-Routing sowie den Request-Lebenszyklus eines HTTP-Gateways. Es enthält eine Mock-Identity-Authorizer-Pipeline zur lokalen Verifizierung von Tokens und JWTs und unterstützt das Mounten virtueller Dependency-Layer in die Ausführungsumgebung. Das Tool deckt die Funktionsausführung über mehrere Runtimes mit isolierten Ausführungsmodi ab, emuliert Cloud-Gateways für das Request-Routing und simuliert geplante Event-Trigger für zeitbasierte Logik. Zudem bietet es Funktionen zur Simulation von SDK-Aufrufen und Request-Context-Mocking, um lokale Integrationstests zu erleichtern.
Implements mechanisms for mapping HTTP paths to specific handler components locally.
sw-precache ist ein Service-Worker-Build-Tool und Precaching-Generator, der JavaScript-Code erzeugt, um statische Assets zu versionieren und zu speichern. Er fungiert als Kommandozeilenschnittstelle und Node-Modul, das entwickelt wurde, um Offline-Funktionalität zu ermöglichen und Ladezeiten für Webanwendungen zu verbessern. Das Projekt zeichnet sich durch die Kombination von Asset-Discovery zur Build-Zeit mit einem Runtime-Caching-Orchestrator aus. Es verwendet Content-Hash-basierte Versionierung, um Aktualisierungen nur dann auszulösen, wenn sich Dateiinhalte ändern, und nutzt Template-basierte Codegenerierung, um benutzerdefinierte Routing-Regeln und Handler-Bibliotheken in den resultierenden Service Worker zu injizieren. Das Tool deckt eine breite Palette an Caching- und Traffic-Management-Funktionen ab, einschließlich der Definition von Network-First- oder Cache-First-Abrufstrategien. Es verwaltet das Routing von Netzwerkanfragen durch das Mapping von URL-Mustern und HTTP-Methoden auf spezifische Handler, um den Datenverkehr aufzulösen.
Implements a routing system that maps URL patterns and HTTP methods to specific handlers within the service worker.
koa2-note ist ein Projekt mit Fokus auf Koa2-Webserver-Entwicklung und asynchrone Node.js-Programmierung. Es bietet ein Framework zum Aufbau von Webservern und APIs unter Verwendung einer asynchronen Middleware-Pipeline zur Handhabung von Request- und Response-Zyklen. Das Projekt betont eine geschichtete Backend-Architektur, die Routing, Business-Services und Datenmodelle entkoppelt. Es zeichnet sich durch die Integration relationaler Datenbanken zur Persistierung von Benutzersitzungen und Anwendungsdaten aus, ergänzt durch einen Build-Prozess, der JSX-zu-JavaScript-Kompilierung für Frontend-Assets beinhaltet. Die Funktionspalette deckt Backend-API-Design ab, einschließlich RESTful-Routing und Request-Daten-Parsing sowie serverseitiges Rendering mit Template-Engines. Es umfasst zudem Unterstützung für asynchrone Datei-Uploads mittels Multipart-Stream-Parsing, Cookie-basiertes Session-Management und die Implementierung von JSONP für Cross-Domain-Requests. Das Repository dient als Bildungsressource mit strukturierten Tutorials und Beispielen zum Erlernen der Koa-Framework-Implementierung und Serverarchitektur.
Implements server-side routing to dispatch HTTP requests to appropriate handlers using middleware.
Racket ist eine Mehrzweck-Programmiersprache mit mehreren Paradigmen aus der Lisp-Familie, die für die Sprachschöpfung entwickelt wurde. Sie fungiert als Sprach-Workbench und bietet eine Plattform zum Entwerfen und Implementieren benutzerdefinierter Programmiersprachen durch ein flexibles System aus Makros und Modulen. Das System zeichnet sich durch eine umfassende Suite für Semantik-Engineering aus, die den Aufbau spezialisierter Sprach-Subsets und Bildungsschichten ermöglicht. Es enthält Tools für das Design benutzerdefinierter Sprachen, wie Lexer- und Parser-Generierung, sowie die Fähigkeit, Modul-Erweiterungsregeln und dynamische Sprachauswahl zur Lesezeit zu definieren. Das Projekt bietet eine integrierte Entwicklungsumgebung mit eingebautem Editor, visuellem Debugger und einem Software-Paketmanager. Die Funktionspalette erstreckt sich auf eine Standardbibliothek für allgemeine Zwecke, die 2D-Grafik-Rendering, Binärdatenverarbeitung, SQL- und deduktive Datenbankintegration sowie den Bau grafischer Benutzeroberflächen abdeckt. Die Umgebung unterstützt das Kompilieren von Quellcode in eigenständige ausführbare Dateien für die Distribution.
Routes incoming network requests to handler functions based on URL patterns and request objects.
koa-router ist eine Routing-Middleware für Koa-Anwendungen, die eingehende HTTP-Anfragen basierend auf URL-Mustern und HTTP-Methoden bestimmten Handler-Funktionen zuordnet. Sie bildet die Grundlage für die Organisation von Web-Endpunkten und die Entwicklung von REST-APIs, indem sie Anfragepfade mit den entsprechenden Controller-Aktionen verknüpft. Das Projekt ermöglicht die Organisation komplexer Endpunkte durch rekursives Router-Nesting, wodurch mehrere Router-Instanzen als Middleware eingebunden werden können, um logische Routenhierarchien zu erstellen. Es unterstützt dynamische URL-Generierung mittels Named-Route-Mapping, was die Erstellung von URL-Strings unter Verwendung von Identifikatoren anstelle von hartkodierten Pfaden erlaubt. Der Router umfasst Funktionen zum Extrahieren und Validieren benannter URL-Parameter, regex-basiertes Pfad-Matching und die Verwaltung von Middleware-Pipelines. Er handhabt zudem Methodenbeschränkungen, wie das Antworten auf OPTIONS-Anfragen und das Verwalten von Redirects.
Provides the primary mechanism for mapping incoming HTTP requests to specific handler functions based on URL and method.
Handy ist ein C++11-Netzwerkserver-Framework und eine eventgesteuerte Networking-Engine, die für den Aufbau hochperformanter, nebenläufiger TCP- und UDP-Server entwickelt wurde. Es fungiert als asynchrone I/O-Bibliothek und HTTP-Server-Implementierung, die asynchrones Netzwerk-I/O von synchroner Geschäftslogik trennt, um die Serverentwicklung zu vereinfachen. Das Framework zeichnet sich durch die Nutzung plattformspezifischer Event-Benachrichtigungen zur Verwaltung von Millionen gleichzeitiger Netzwerkverbindungen und die Bereitstellung eines SSL/TLS-Netzwerk-Wrappers für verschlüsselte asynchrone Datenübertragung aus. Es implementiert ein Half-Sync/Half-Async-Verarbeitungsmodell und einen Event-Loop-basierten Reactor, um hohe Nebenläufigkeit aufrechtzuerhalten. Das Projekt deckt ein breites Spektrum an Networking-Funktionen ab, darunter pfadbasiertes HTTP-Routing, benutzerdefiniertes Binärprotokoll-Design mittels Codec-basierter Message-Framing und thread-sicheres I/O-Task-Dispatching. Es enthält zudem Dienstprogramme für das Connection-Lifecycle-Management, Timer-Wheel-Task-Scheduling für zeitgesteuerte Ausführung und Koordination für ein Graceful-Shutdown.
Maps incoming HTTP URL paths to specific handler functions to generate and send responses to web clients.
Sylar is a high-performance C++ asynchronous server framework and event-driven network library. It functions as a coroutine scheduler and HTTP server implementation designed to build network services using non-blocking I/O. The project distinguishes itself through a system call interceptor that hooks blocking socket and sleep APIs, transforming synchronous operations into non-blocking asynchronous events. It employs a user-space threading system to distribute lightweight tasks across a worker thread pool to maximize CPU utilization. The framework covers a broad range of networking and system
Implements URI mapping with precise and fuzzy matching to dispatch web requests to handler functions.
Dieses Repository ist eine Sammlung von Implementierungsmustern, Tutorial-Code und praktischen Beispielen für die Erstellung von Webanwendungen mit dem Gin-Framework in Go. Es dient als Leitfaden für das Erlernen der Strukturierung von Go-Webservern, wobei der Schwerpunkt auf der Zuordnung von URL-Pfaden zu Handler-Funktionen und der Verwaltung des Request-Flows liegt. Das Projekt bietet Demonstrationen zur Implementierung von Middleware für Aufgaben wie Authentifizierung, Logging und Rate Limiting. Zudem enthält es Referenzbeispiele für die Entwicklung von REST-APIs mit Fokus auf Datenstrukturierung und das Senden von JSON-Antworten an Clients.
Demonstrates mechanisms that map incoming HTTP requests to internal handler callbacks based on path patterns.
tts-server-android ist ein systemweiter Text-to-Speech-Dienst für Android, der Syntheseanfragen an externe Cloud-APIs oder lokale Engines weiterleitet. Er fungiert als HTTP-Sprachsynthese-Gateway, das System-Sprachanfragen in anpassbare HTTP-Anfragen für Remote-Cloud-Dienste umwandelt. Das Projekt enthält einen narrativen Dialog-Parser, der Anführungszeichen verwendet, um zwischen Erzählung und Dialog zu unterscheiden, was unterschiedliche Lesestile ermöglicht. Es verfügt zudem über einen Voice-Manager und eine Synthese-Schnittstelle, um Textersetzungsregeln und automatische Wiederholungsversuche zu implementieren, um die Genauigkeit der Sprachausgabe zu verbessern. Der Dienst deckt breitere Funktionen ab, einschließlich der Verwaltung lokaler Engines für Offline-Sprachfunktionalität, Cloud-API-Routing und die Anpassung der Aussprache durch regelbasierte Textvorverarbeitung.
Routes text requests to remote cloud servers using customizable HTTP configurations to retrieve audio streams.
Poem ist ein umfassendes Toolkit für die Erstellung typsicherer Webanwendungen, APIs und Server unter Verwendung der Programmiersprache Rust. Es bietet eine Grundlage für die Entwicklung von Webservern, die HTTP-Anfragen mit starker Typsicherheit handhaben. Das Framework zeichnet sich dadurch aus, dass es mehrere Kommunikationsprotokolle durch ein protokollunabhängiges Handler-Mapping unterstützt. Dies ermöglicht es, eine einzige interne Logik über HTTP, gRPC-Dienste unter Verwendung von Protobuf-Definitionen und das Model Context Protocol für die KI-Modellintegration bereitzustellen. Zudem enthält es integrierte Tools zur Generierung von OpenAPI-v3-Spezifikationen und interaktiver Dokumentation. Das Projekt deckt eine breite Palette an Funktionen ab, einschließlich Request-Routing, Trait-basierter Middleware-Pipelines und Sitzungsmanagement. Es bietet Sicherheitsfunktionen wie ACME-basierte automatisierte TLS-Zertifikatserneuerung, CSRF-Schutz und CORS-Konfiguration. Weitere integrierte Funktionen umfassen Echtzeit-Daten-Streaming via WebSockets und Server-Sent Events, Bereitstellung statischer Assets und OpenTelemetry-Integration für verteiltes Request-Tracing. Das Framework ist darauf ausgelegt, diverse Deployment-Ziele zu unterstützen, einschließlich der Möglichkeit, Webanwendungen als ereignisgesteuerte serverlose Funktionen innerhalb von Cloud-Runtimes auszuführen.
Maps incoming HTTP request paths and host headers to specific handler functions.