53 Repos
Pipeline handlers for intercepting, validating, and modifying network traffic.
Distinguishing note: Focuses on network-level interception rather than general application middleware.
Explore 53 awesome GitHub repositories matching web development · Request Interception Middleware. Refine with filters or upvote what's useful.
Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the
Includes a mechanism for intercepting and modifying outgoing requests and incoming responses globally.
This project is a command-line tool and build toolchain used to bootstrap React web applications. It serves as a project bootstrapper and single-page application scaffold, providing a pre-configured development environment, folder structure, and build pipeline. The toolchain integrates a frontend development server with live reloading and error overlays to accelerate the iterative coding process. It handles production asset bundling by minifying code and generating hashed assets for deployment, and it includes a configuration suite for generating the service workers and web manifests required
Provides middleware that intercepts development server requests to forward them to backend servers.
Insomnia is a desktop application designed for the design, testing, and debugging of network requests. It serves as a comprehensive environment for managing the API lifecycle, allowing users to draft interface specifications, simulate endpoints, and execute automated testing workflows within continuous integration pipelines. The platform distinguishes itself through a modular, plugin-based architecture that enables the integration of custom scripts and external tools. It supports complex development needs by providing a local-first data persistence model, environment-variable substitution for
Intercepts network traffic to perform validation, mocking, and authentication before requests reach their destination.
This project is a comprehensive reference collection of practical implementation examples and patterns for building applications with Spring Boot. It serves as a Java web application template and a showcase for developing functional web services featuring REST endpoints, template engines, and global exception handling. The repository distinguishes itself by providing detailed demonstrations of enterprise-grade features, including distributed locking, task scheduling, and asynchronous message exchange using brokers like RabbitMQ. It also includes reference implementations for automated API doc
Defines request interception pipelines to determine which URL patterns require authentication.
Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction pipelines. It provides a unified interface for managing headless browser automation and lightweight HTTP requests, allowing developers to handle complex web navigation, dynamic content rendering, and large-scale data collection within a single, modular architecture. The project distinguishes itself through its resource-aware concurrency controller, which dynamically scales task execution based on real-time CPU and memory usage to prevent host machine exhaustion. It also features a rob
Provides middleware for intercepting and modifying network traffic during the crawling process.
Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a concurrent HTTP request manager, an HTTP stream handler, and a middleware-based HTTP pipeline. The project is a PSR-7 compliant client, utilizing standardized PHP interfaces for requests, responses, and streams. The library differentiates itself through a customizable functional handler stack that allows for the interception and modification of the request and response lifecycle. It features an adapter-based transport system that enables swapping between network implementations,
Intercepts and modifies HTTP request and response lifecycles using a functional handler stack for logging and caching.
web3.js is a comprehensive TypeScript library designed to facilitate interaction with Ethereum-compatible blockchain networks. It serves as a foundational toolkit for decentralized applications, providing the necessary interfaces to query network state, manage cryptographic identities, and execute smart contract transactions. By abstracting the complexities of blockchain communication, the library enables developers to integrate decentralized logic directly into their applications. The library distinguishes itself through a modular architecture that prioritizes extensibility and flexible conn
Implements middleware to modify RPC requests and responses before they reach the blockchain network.
Apollo Client is a GraphQL client library and data fetching framework used to request data from a GraphQL server and synchronize that state within a frontend application. It functions as a remote state manager and a local state management tool, allowing developers to define client-side schemas and resolvers for data that does not reside on a remote server. The project features a normalized GraphQL cache that identifies objects by ID to ensure referential equality and consistent data updates across different queries. It also includes a GraphQL API mocking tool to simulate server responses and
Transforms requests and handles authentication through a chain of interception middleware.
Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as a production-ready ASGI web server, utilizing a non-blocking event loop to handle concurrent requests and maximize throughput. The framework is built to support scalable architectures, offering built-in worker process management to distribute traffic across available CPU cores. What distinguishes Sanic is its focus on modularity and developer-centric tooling. It features a blueprint-based system for organizing complex applications into pluggable components, alongside a robust
Executes custom logic before or after a route handler processes an incoming request to modify data or perform side effects.
UIkit is a CSS front-end framework and accessible UI component library designed for building responsive web interfaces. It provides a comprehensive set of styling classes and modular components alongside a JavaScript interaction toolkit for managing behavioral elements. The framework includes native support for internationalized web interfaces, featuring multi-locale text translation and right-to-left layout directions. It employs a responsive layout engine that uses flexible grids, adaptive breakpoints, and container widths to align content across different screen sizes. The toolkit covers
Implements a hook mechanism for intercepting and modifying network traffic for outgoing requests.
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
Hooks into the request lifecycle to inject headers or modify parameters before processing.
MSW is a JavaScript API mocking library and integration testing tool designed to intercept network requests at the network level. It allows for the definition of mock data and status codes using routing syntax to simulate server responses without requiring changes to the application source code. The project utilizes a service worker to proxy API calls in the browser, providing a mechanism for isolated frontend development and testing. It employs platform-specific network adapters to maintain a consistent mocking interface across both browser and Node.js environments. The library covers a ran
Captures outgoing web requests at the network level to provide mock data without altering application source code.
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
Allows wrapping incoming requests or outgoing responses with custom logic for logging, authentication, or header modification.
Zphisher is a security testing framework designed for conducting authorized social engineering assessments and penetration testing. It functions as a credential harvesting simulator that enables security professionals to evaluate organizational defenses and user awareness by deploying deceptive login interfaces. The platform automates the creation of realistic web pages through dynamic template rendering and provides tools to mask destination addresses. It integrates reverse proxy tunneling to expose local testing services to the public internet, allowing for remote access during security aud
Intercepts and logs incoming HTTP form submissions to record user input within a controlled testing environment.
Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex
Provides a middleware system for intercepting and modifying network requests and responses globally.
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
Replaces standard socket-based networking with browser-native fetch capabilities to allow packages to perform HTTP operations.
Lemmy is a self-hosted, federated discussion platform that enables the operation of independent, decentralized social networking servers. By implementing the ActivityPub protocol, it allows autonomous instances to exchange content, synchronize user interactions, and participate in a global, distributed network without centralized control. The platform distinguishes itself through a decoupled architecture that separates the backend API from the frontend, facilitating the development of custom interfaces while maintaining unified user handles and cross-platform communication. It provides granul
Implements pipeline handlers for intercepting and validating network traffic before processing.
Partytown is a main thread performance optimizer and web worker script orchestrator. It functions as a third party script offloader that relocates resource-intensive external JavaScript from the browser's main thread into a sandboxed web worker environment. The project focuses on improving core web vitals and overall page responsiveness by reducing main thread blocking time. This isolation ensures that heavy third party scripts do not interfere with the execution of core application code and page loading speed. The system provides infrastructure for client-side script offloading through DOM
Captures outgoing network requests from third-party scripts to route them through the worker environment.
VasSonic is a hybrid mobile app framework for Android and iOS designed to optimize the loading speed of web views. It functions as a web view performance optimizer and a mobile web resource cache, utilizing an HTML differential update engine to minimize remote network fetches and reduce first-screen load times. The framework distinguishes itself by splitting HTML into static templates and dynamic data, calculating differences between server state and cached content to send only modified fragments. It employs a native-to-JavaScript bridge to sync these server-side data updates directly into th
Intercepts web view network requests to serve cached assets and inject custom session metadata.
Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ
Executes pluggable functions to resolve addresses, inject credentials, and prepare request bodies before dispatch.