For a library for method agnostic HTTP routing, the strongest matches are slimphp/slim (Slim is a lightweight PHP micro-framework that provides a), go-chi/chi (Chi is a lightweight, framework-agnostic routing library that integrates) and expressjs/express (Express is a foundational web framework that provides a). labstack/echo and sinatra/sinatra round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best method-agnostic HTTP request handlers for your project. Compare top-rated libraries by activity and features to pick the right one.
Slim is a PHP micro-framework designed for building web applications and APIs by routing incoming network requests to specific callback functions. It provides a lightweight foundation that emphasizes low memory overhead, allowing developers to construct backend systems by integrating only the necessary components. The framework distinguishes itself through a middleware-based request pipeline and full support for standardized HTTP message interfaces. By utilizing these standard interfaces, the system enables modular application logic and ensures interoperability with a wide range of third-part
Slim is a lightweight PHP micro-framework that provides a robust middleware-based routing system capable of handling requests regardless of the HTTP method, fitting the requirement for a flexible, framework-agnostic routing foundation.
Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition. The project distinguishes itself through a radix-tree-based routing system that supports recursive nesting, allowing developers to mount independent sub-routers onto specific path prefixes. This hierarchical structure enables the creation of organized, modular applications where request handlers are grouped and managed
Chi is a lightweight, framework-agnostic routing library that integrates with the Go standard library and provides full support for middleware, request context handling, and flexible pattern matching across all HTTP methods.
Express is a minimalist web server framework that provides a foundational runtime environment for building backend web APIs and applications. It operates through a central application object that orchestrates the entire request-response lifecycle, allowing developers to define routes, manage server settings, and process incoming HTTP traffic. The framework is defined by its middleware-based routing engine, which sequences request handlers and logic blocks to process traffic based on path patterns and HTTP methods. This architecture supports a highly modular approach, enabling the creation of
Express is a foundational web framework that provides a robust middleware-based routing engine capable of handling requests through its flexible app.all() method, which allows you to define handlers that are agnostic to specific HTTP verbs.
Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web services. It provides a centralized environment for mapping network requests to handler functions, utilizing a fast radix-tree routing engine to ensure efficient request dispatching. The framework is built around a modular, middleware-centric pipeline that allows developers to execute reusable logic for cross-cutting concerns like authentication, logging, and security across the entire application. What distinguishes Echo is its focus on developer productivity through structured da
Echo is a full-featured web framework that includes a powerful, middleware-centric routing engine capable of handling arbitrary HTTP methods, though it is designed as a complete application framework rather than a standalone routing library.
Sinatra is a lightweight web framework for the Ruby programming language designed for building web applications and services. It provides a domain-specific language that maps HTTP verbs and URL patterns directly to executable code blocks, allowing developers to define routes and handle incoming network requests with minimal boilerplate. The framework distinguishes itself through a modular architecture that relies on a middleware pipeline to process, modify, or terminate connections. This design allows for the integration of external functionality by mixing modules into the core request-handli
Sinatra is a lightweight web framework that provides a robust routing and middleware system, though it is primarily designed around mapping specific HTTP verbs rather than being inherently method-agnostic.
Plug is a specification and set of primitives for building composable middleware pipelines in Elixir web applications. It provides a system for managing HTTP request pipelines and a routing engine that dispatches incoming requests to specific handlers based on methods and URL patterns. The project enables the creation of interchangeable web middleware for tasks such as authentication, logging, and session management. It also includes mechanisms for upgrading standard HTTP requests to full-duplex WebSocket connections. The capability surface covers request body parsing, static asset delivery,
Plug provides a composable middleware and routing specification for Elixir that allows for flexible request handling, though it is specifically designed for the Elixir ecosystem rather than being a framework-agnostic library for other languages.
This project is a request router and web framework for the Go programming language. It provides a toolkit for matching incoming HTTP network requests to specific handler functions by evaluating criteria such as URL paths, request methods, headers, and hostnames. The framework distinguishes itself through its flexible matching capabilities, which include support for regular expressions and dynamic variable extraction from URL segments. It allows developers to organize routes into logical hierarchies, share common path prefixes, and maintain a central registry of named routes to facilitate prog
This library provides flexible request routing and middleware support for Go, allowing you to define handlers based on various criteria including path patterns and custom matchers, though it is specifically designed for the Go ecosystem rather than being framework-agnostic.
Tide is an asynchronous web server framework and HTTP toolkit for the Rust programming language. It provides a system for building high-concurrency network applications and REST APIs using non-blocking I/O and asynchronous runtimes. The framework is centered around a middleware-based request pipeline, allowing developers to intercept and process HTTP requests and responses through pluggable logic layers. It supports a hierarchical route tree to organize endpoints into nested groups that share common path prefixes and scoped middleware. Capability areas include real-time communication via Web
Tide is a web framework that provides a middleware-based routing system capable of handling requests regardless of specific HTTP methods, making it a suitable tool for building flexible, method-agnostic request pipelines.
Koa is a lightweight web framework for Node.js designed for building HTTP applications and servers. It functions as an asynchronous middleware engine that processes network requests through a sequence of functions sharing a common context. The framework distinguishes itself by using an onion-model middleware stack and promise-based flow control. This architecture allows requests to flow downstream and responses to flow back upstream through the same chain, enabling non-blocking request cycles and a modular approach to handling network traffic. The system provides high-level capabilities for
Koa is a lightweight web framework that provides a flexible, method-agnostic middleware engine for handling HTTP requests, making it a suitable choice for building custom routing logic.
Iron is a Rust web framework used for building concurrent web applications and APIs. It functions as a concurrent HTTP server and provides a stateless route dispatcher to map incoming URL paths and globs to specific handler functions. The project is centered around a middleware-based request pipeline, which allows the request-response cycle to be extended via plugins and modifiers. It utilizes a thread-safe state container to store shared application memory accessible across all concurrent handlers and middleware. The framework covers broad capability areas including dynamic API routing, sta
Iron is a concurrent web framework built around a middleware-based request pipeline that provides a flexible, method-agnostic routing system for mapping URL patterns to handler functions.
go-restful is a framework for building RESTful web services in Go. It functions as a toolkit for managing API endpoints, providing a request router that maps incoming HTTP requests to handler functions using path parameters and custom URL patterns. The framework includes a data conversion layer that transforms Go structures into JSON or XML formats for request and response bodies. It also provides a system for organizing related web services into containers to manage endpoint prefixing and shared configuration. The project covers request lifecycle management through middleware filters for va
This library provides a robust routing and middleware system for Go that supports path-based pattern matching and request interception, though it is primarily designed for RESTful services rather than generic method-agnostic request handling.
Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container. The project provides specialized frameworks for diverse communication patterns, including a REST API framework with automatic OpenAPI schema generation, a GraphQL API framework with query and mutation resolvers, and a WebSocket server for bidirectional real-time communication. It also includes a dedicated framework for pushing real-t
Javalin is a lightweight web framework that provides a flexible routing system capable of handling non-standard HTTP methods and custom request handlers, making it a suitable choice for building method-agnostic APIs.
Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions. The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services. The project covers a broad range of web capabilities, inc
Martini is a web framework that provides a flexible routing engine and middleware pipeline capable of handling requests regardless of the specific HTTP method, fitting the requirements for a routing library.
Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a hierarchical web router that uses a tree-based structure to map requests to handlers and an asynchronous middleware pipeline based on the onion model for request and response pre- and post-processing. The framework is distinguished by its native support for modern network protocols, including a QUIC-based HTTP/3 implementation alongside HTTP/1 and HTTP/2. It includes an integrated OpenAPI documentation generator that extracts schemas directly from handler signatures to produc
Salvo is a full-featured web framework that provides a powerful, method-agnostic tree-based router and a robust middleware pipeline, making it a suitable choice for building flexible request handlers in Rust.
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
This is a header-only C++ library that provides a middleware-based request pipeline and regex-based routing, allowing you to define handlers that can be applied across various HTTP operations.
Hono is a lightweight web framework built on Web Standard APIs that executes across JavaScript runtimes including Cloudflare Workers, Deno, Bun, and Node.js.
Hono is a lightweight, framework-agnostic web router that supports method-agnostic request handling and middleware, making it a highly capable tool for building flexible HTTP interfaces across various JavaScript runtimes.
Nickel is a web framework for the Rust programming language designed to handle HTTP requests and responses. It functions as a server-side toolkit that provides integrated routing, middleware, and JSON deserialization. The framework utilizes a middleware-based request pipeline to insert custom logic and state management into the request-response cycle. It also includes a server-side template engine for generating dynamic HTML pages by merging data with markup templates. The project covers high-level capabilities for REST API development, web application routing, and global error handling to i
Nickel is a web framework that provides a middleware-based request pipeline and flexible routing, allowing you to define handlers that can process requests regardless of the specific HTTP method used.
Hapi is a configuration-driven web framework for building secure and scalable HTTP servers and APIs on the Node.js runtime. It functions as a REST API development framework and an enterprise server implementation focused on stability, security, and comprehensive input validation. The framework is built around a plugin-based architecture, allowing core functionality and custom logic to be organized into modular, registerable plugins. It serves as an HTTP request lifecycle manager, enabling the interception and modification of requests through pre-handlers and extensions before they reach the f
Hapi is a comprehensive web framework that provides a robust, method-agnostic routing system and a sophisticated request lifecycle architecture, allowing you to define handlers and middleware that operate independently of specific HTTP verbs.
Hono is a minimal JavaScript HTTP framework designed for building web servers across multiple runtimes, including Node.js, edge runtimes, and serverless platforms. It functions as a cross-runtime web server and a web standard API wrapper, normalizing various runtime request and response objects into standard Web API signatures. The project serves as an HTTP middleware orchestrator and request handler, utilizing a middleware-based request pipeline and hierarchical route mounting to create modular server structures. It distinguishes itself through a runtime-agnostic event wrapper that ensures c
Hono is a minimal, runtime-agnostic web framework that provides a flexible routing system and middleware pipeline capable of handling requests regardless of the specific HTTP method used.
Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s
Elysia is a high-performance web framework that provides a flexible, plugin-based routing system capable of handling requests in a method-agnostic manner while supporting middleware and type-safe request context.
Fiber is a high-performance web framework designed for building scalable HTTP services with minimal memory overhead. It provides a comprehensive runtime environment for managing the full request lifecycle, utilizing an optimized radix tree for high-speed route matching and an object pooling system to reduce garbage collection pressure during traffic processing. The framework distinguishes itself through its multi-process architecture, which supports prefork socket reuse to distribute incoming traffic across all available CPU cores. It offers a modular approach to application development, feat
Fiber is a high-performance web framework that provides robust routing and middleware capabilities, allowing for flexible request handling that can be adapted to support method-agnostic patterns.
Gin is a web framework designed for building high-performance web services and APIs. It functions as a middleware-oriented engine that processes incoming HTTP requests through a sequential chain of handlers, allowing for the modular management of cross-cutting concerns such as authentication and logging. The framework utilizes a radix tree data structure to perform request routing, ensuring high-speed path matching with minimal memory overhead. It distinguishes itself by employing a zero-reflection dispatch mechanism that invokes handler functions through static type assertions, avoiding the
Gin is a high-performance web framework that provides a robust middleware-oriented routing engine, though it is a full-stack framework rather than a standalone routing library.
Axum is a web framework for the Rust programming language designed for building scalable and high-performance backend services. It provides a modular, asynchronous programming model that centers on a declarative routing engine, allowing developers to map HTTP requests to handler functions using a type-safe API. The framework distinguishes itself through a robust request extraction system that leverages trait-based reflection to automatically parse and validate incoming data into strongly typed function arguments. By utilizing a standardized service abstraction, it enables the composition of m
Axum is a high-performance web framework that provides a powerful, type-safe routing engine and middleware system capable of handling requests in a method-agnostic way through its flexible handler abstraction.
Fasthttp is a high-performance networking framework for Go, designed to maximize throughput and minimize memory overhead in demanding web applications. It functions as a specialized HTTP server and client library that prioritizes efficient resource management, allowing developers to build scalable services capable of handling massive concurrent traffic with minimal garbage collection pressure. The library distinguishes itself through a focus on zero-allocation processing and low-level optimization. It achieves this by recycling temporary request and response objects through managed pools and
This is a high-performance HTTP server and client library for Go that provides low-level request handling and routing capabilities, allowing you to define handlers that process requests independently of specific HTTP methods.
A quick and easy way to setup a RESTful JSON API
This library provides a structured way to build JSON APIs with built-in routing and middleware support, allowing you to define handlers that can be mapped to various HTTP methods or custom patterns.
This library provides a flexible routing engine that supports middleware and pattern matching while allowing you to define handlers that are not strictly bound to specific HTTP methods.
This library provides a high-performance, method-agnostic tree-based router that supports pattern matching and custom request handlers, making it a suitable choice for building flexible HTTP routing layers.
This project is a framework-agnostic routing component for PHP applications designed to map incoming web requests to specific controller methods or functions. It serves as a utility for managing request dispatching and URL mapping within server-side web environments. The library identifies the correct handler by matching request URLs against predefined patterns using regular expressions and verifying the request verb against specific method requirements. It supports the construction of RESTful API endpoints and facilitates the execution of logic through a middleware pipeline that can inspect
This library provides a flexible routing system that supports custom request handlers and middleware, allowing you to define routes independently of specific HTTP methods.
Install using npm: ` $ npm install --save micro-method-router `
This library provides a method-agnostic routing mechanism for Node.js environments, allowing you to define request handlers that are not tied to specific HTTP verbs.
This package represents the core of serve. It can be plugged into any HTTP server and is responsible for routing requests and handling responses.
This library provides a framework-agnostic way to handle HTTP requests and routing, allowing you to define custom logic for incoming requests without being tied to specific HTTP methods.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| slimphp/slim | 12.2K | PHP | mit | |
| go-chi/chi | 22.4K | Go | MIT | |
| expressjs/express | 69.2K | JavaScript | MIT | |
| labstack/echo | 32.5K | Go | MIT | |
| sinatra/sinatra | 12.4K | Ruby | MIT | |
| elixir-plug/plug | 3K | Elixir | other | |
| gorilla/mux | 21.8K | Go | BSD-3-Clause | |
| http-rs/tide | 5.1K | Rust | Apache-2.0 | |
| koajs/koa | 35.7K | JavaScript | MIT | |
| iron/iron | 6.1K | Rust | MIT |