awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hapijs avatar

hapijs/hapi

0
View on GitHub↗
14,789 stars·1,357 forks·JavaScript·6 vueshapi.dev↗

Hapi

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 final route handler.

The project provides capabilities for schema-based input validation, strategy-based authentication, and CORS policy configuration. It includes tools for traffic management via resource-limit load shedding and performance optimization through internal method caching. For testing, the system supports in-process request injection to simulate HTTP requests without a live network connection.

Features

  • Plugin-Based Architectures - Uses a plugin-based architecture to modularize core functionality and register new routes or methods.
  • Node.js Server Frameworks - Functions as a comprehensive framework for building secure, scalable HTTP servers and APIs on the Node.js runtime.
  • Web Servers - Implements a lightweight server for handling HTTP network requests and managing application state.
  • Authentication Strategies - Supports interchangeable authentication strategies to validate user identities across different route access levels.
  • Input Validation Schemas - Enforces data shapes on headers and payloads using schema-based validation before requests reach the handler.
  • Application Plugins - Provides a plugin system to modularize application logic and extend server functionality.
  • Modular Application Architectures - Organizes server logic using a modular, plugin-based architecture to manage shared state.
  • API Routing - Maps HTTP methods and URI paths to specific handler functions for processing API requests.
  • Configuration-Driven Frameworks - Defines routes, validation schemas, and authentication strategies through declarative configuration objects.
  • Request Data Handling - Handles incoming request data as memory buffers, readable streams, or temporary files.
  • Request Lifecycle Hooks - Provides hooks to intercept and modify URLs, methods, or responses at specific stages of the request lifecycle.
  • Request Pipelines - Implements a request pipeline that executes pre-handlers and extension points before the final route handler.
  • REST API Frameworks - Provides a structured system for mapping HTTP routes to handlers with built-in payload processing and input validation.
  • RESTful API Development - Facilitates REST API development by mapping HTTP routes to handlers with built-in validation.
  • Method Result Caches - Caches the results of registered utility functions to avoid redundant data fetching.
  • Typed Plugin Interfaces - Enables the creation of server extensions with defined options and API surfaces to ensure plugins remain strongly typed.
  • HTTP Cookie Management - Provides structured manipulation of HTTP cookies to track user sessions across requests.
  • Typed Server Methods - Provides registered shared functions that return strongly typed values and arguments with built-in caching.
  • API Gateway Security - Implements security layers through authentication strategies and CORS policies to protect API resources.
  • Load Shedding - Automatically rejects incoming requests when heap or event loop lag exceed defined system limits.
  • Request Load Shedding - Automatically rejects incoming requests when the server exceeds defined heap or event loop limits.
  • API Testing - Supports verifying routing logic and API behavior through in-process request injection.
  • Automated Test Suites - Enables automated verification of server behavior by simulating HTTP requests without a live network.
  • Request-Response Lifecycle Handlers - Implements a request-response pipeline that allows intercepting and modifying HTTP traffic through pre-handlers and extensions.
  • Request Simulators - Enables simulating HTTP requests by bypassing the network layer to test routing logic directly.
  • CORS Policies - Provides built-in configuration for managing Cross-Origin Resource Sharing security headers.
  • High-Performance HTTP Servers - Optimizes for high-throughput and low-latency via internal method caching and load management.
  • Pre-handler Sequences - Executes an ordered sequence of prerequisite operations in serial or parallel before the primary route handler.
  • Type-Safe Routing - Ensures type safety for routes by defining expected shapes for payloads, query parameters, and path variables.
  • Node.js Frameworks and Tools - Configuration-centric web framework.
  • Web Frameworks - Framework for building robust applications and services.

Historique des stars

Graphique de l'historique des stars pour hapijs/hapiGraphique de l'historique des stars pour hapijs/hapi

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait hapijs/hapi ?

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.

Quelles sont les fonctionnalités principales de hapijs/hapi ?

Les fonctionnalités principales de hapijs/hapi sont : Plugin-Based Architectures, Node.js Server Frameworks, Web Servers, Authentication Strategies, Input Validation Schemas, Application Plugins, Modular Application Architectures, API Routing.

Quelles sont les alternatives open-source à hapijs/hapi ?

Les alternatives open-source à hapijs/hapi incluent : koajs/koa — Koa is a lightweight web framework for Node.js designed for building HTTP applications and servers. It functions as an… azat-co/practicalnode — Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side… restify/node-restify — Restify is a Node.js web framework designed for building scalable RESTful web services and APIs. It provides a… seanmonstar/warp — Warp is a Rust HTTP web framework designed for building high-performance web servers. It provides a system for… moleculerjs/moleculer — Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a…

Alternatives open source à Hapi

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Hapi.
  • koajs/koaAvatar de koajs

    koajs/koa

    35,713Voir sur GitHub↗

    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

    JavaScriptkoa
    Voir sur GitHub↗35,713
  • azat-co/practicalnodeAvatar de azat-co

    azat-co/practicalnode

    3,787Voir sur GitHub↗

    Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side programming with Node.js. It provides a structured approach to building scalable network services, REST APIs, and real-time applications using asynchronous JavaScript. The project serves as a detailed implementation guide for several core backend patterns, including MongoDB data modeling and the construction of REST API development kits. It emphasizes a specific workflow for Docker containerization and offers a variety of strategies for managing user identity through stateless tok

    JavaScriptapressawsaws-ec2
    Voir sur GitHub↗3,787
  • restify/node-restifyAvatar de restify

    restify/node-restify

    10,686Voir sur GitHub↗

    Restify is a Node.js web framework designed for building scalable RESTful web services and APIs. It provides a server-side environment for creating HTTP network services with integrated routing and request handling. The framework utilizes a middleware-based architecture to process incoming requests and manage responses. This approach supports the construction of web interfaces that follow standard architectural principles to deliver data to clients. The system covers a broad range of backend engineering capabilities, including route-based request dispatching, schema-based request validation,

    JavaScript
    Voir sur GitHub↗10,686
  • seanmonstar/warpAvatar de seanmonstar

    seanmonstar/warp

    10,245Voir sur 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
    Voir sur GitHub↗10,245
Voir les 30 alternatives à Hapi→