awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
elixir-plug avatar

elixir-plug/plug

0
View on GitHub↗
2,987 星标·604 分支·Elixir·other·2 次浏览hex.pm/packages/plug↗

Plug

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, and security primitives including basic authentication and cross-site request forgery protection. It incorporates telemetry instrumentation for performance tracking and provides utilities for simulating request pipelines to verify connection states without a live server.

Features

  • Middleware Composition Layers - Provides a structural pattern for processing web requests through chains of reusable middleware functions.
  • Middleware Pipelines - Provides the core specification and primitives for building composable middleware pipelines in Elixir web applications.
  • Web Framework Middleware - Establishes a standard for creating interchangeable middleware components for authentication, logging, and session management.
  • Immutable Connection State Management - Implements request and response tracking using a single immutable connection struct passed through the pipeline.
  • Pipeline State Manipulations - Enables building web applications by piping requests through reusable functions to manipulate connection data.
  • Web Server Abstractions - Provides an abstraction layer that allows applications to run across different web server implementations without changing core logic.
  • HTTP Request Handlers - Implements the core request processing pipeline, managing the lifecycle of incoming requests through middleware.
  • Request Middleware - Provides mechanisms for intercepting and processing HTTP requests using shared logic for authentication and logging.
  • Request Pipelines - Implements an architectural pattern for intercepting and processing network requests through sequential lifecycle hooks.
  • Request Routing - Includes a high-performance routing engine that dispatches incoming requests to handlers based on URL paths and methods.
  • HTTP Routing - Implements mechanisms for directing incoming HTTP traffic to handlers based on request methods and paths.
  • Tree-Based Route Resolvers - Utilizes an efficient tree-based lookup structure to match incoming URL paths to specific request handlers.
  • Web Pipeline Specifications - Acts as a specification and set of primitives for building composable middleware pipelines in Elixir.
  • Server Interface Abstractions - Provides a server interface abstraction that decouples application logic from the underlying web server implementation.
  • Websocket Connection Managers - Provides a mechanism to upgrade standard HTTP requests to persistent, full-duplex WebSocket connections.
  • Connection Upgraders - Implements the mechanism to upgrade standard HTTP requests to full-duplex WebSocket connections.
  • Session Management - Ships capabilities for handling the creation and retrieval of session data to maintain user state across requests.
  • Execution Telemetry Pipelines - Emits standardized telemetry events during the request lifecycle to enable external performance monitoring.
  • Simulated Request Testing - Provides utilities to simulate HTTP requests and verify connection states without requiring a live network server.
  • Request Body Handling - Provides mechanisms to convert raw request bodies into structured data based on content type headers.
  • API Frameworks - Composable module specification for Elixir web apps.

Star 历史

elixir-plug/plug 的 Star 历史图表elixir-plug/plug 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

elixir-plug/plug 是做什么的?

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.

elixir-plug/plug 的主要功能有哪些?

elixir-plug/plug 的主要功能包括:Middleware Composition Layers, Middleware Pipelines, Web Framework Middleware, Immutable Connection State Management, Pipeline State Manipulations, Web Server Abstractions, HTTP Request Handlers, Request Middleware。

elixir-plug/plug 有哪些开源替代品?

elixir-plug/plug 的开源替代品包括: go-martini/martini — Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It… dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… senchalabs/connect — Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It… seanmonstar/warp — Warp is a Rust HTTP web framework designed for building high-performance web servers. It provides a system for… hugapi/hug — Hug is a Python API framework used for building web services by mapping functions to HTTP endpoints via decorators and… labstack/echo — Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web…

Plug 的开源替代方案

相似的开源项目,按与 Plug 的功能重合度排序。
  • go-martini/martinigo-martini 的头像

    go-martini/martini

    11,603在 GitHub 上查看↗

    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

    Go
    在 GitHub 上查看↗11,603
  • dodyg/practical-aspnetcoredodyg 的头像

    dodyg/practical-aspnetcore

    10,382在 GitHub 上查看↗

    This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro

    C#asp-net-coreaspnet-coreaspnetcore
    在 GitHub 上查看↗10,382
  • senchalabs/connectsenchalabs 的头像

    senchalabs/connect

    9,888在 GitHub 上查看↗

    Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It serves as a middleware composition engine that allows for the creation of chains of request handlers to process HTTP traffic and manage application errors. The framework enables the orchestration of pluggable functions to execute security, logic, and routing rules in a specific sequence. It provides the ability to match incoming request URLs to specific logic handlers based on path prefixes. The system covers broader capabilities including centralized error handling to ensure con

    JavaScriptjavascriptnodejs
    在 GitHub 上查看↗9,888
  • seanmonstar/warpseanmonstar 的头像

    seanmonstar/warp

    10,245在 GitHub 上查看↗

    Warp is a Rust HTTP web framework designed for building high-performance web servers. It provides a system for managing request pipelines, implementing WebSocket servers for bidirectional communication, and serving static assets from the local filesystem. The framework is characterized by its use of type-safe request pipelines and routing. It utilizes a filter-based approach to extract and validate metadata from headers, query strings, and request bodies before they reach the application handler. Broad capability areas include HTTP API development, asynchronous task execution, and state-base

    Rustframeworkhttprust
    在 GitHub 上查看↗10,245
查看 Plug 的所有 30 个替代方案→