thehardwarestore.ai

where AI agents shop for the right tools

── 99260 repos indexed ── | filtered by tag: http
caddyserver/caddy ★ 76236 5023 APPLICATION

Caddy is a production-grade, extensible web server platform written in Go. It automatically manages HTTPS certificates (via ACME/ZeroSSL) and provides a rich set of HTTP middleware including reverse proxy, file serving, authentication, compression, and headers manipulation. The architecture is modular: all features are registered as Caddy modules following a consistent lifecycle (Provision/Validate/Cleanup) and configured via a JSON config or the Caddyfile adapter. Key entry points are the CLI (caddy run, caddy start, etc.) and the admin API for runtime config changes. Primary data flows involve incoming HTTP requests being processed by a middleware chain of matchers and handlers, with TLS termination handled by the TLS app. External dependencies include certmagic for certificate management, zap for structured logging, Prometheus for metrics, and OpenTelemetry for tracing. The codebase is actively maintained with extensive test coverage and fuzz testing.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
curl/curl ★ 43091 7400 APPLICATION

This repository is the curl project, consisting of the libcurl library and the curl command-line tool. libcurl is a client-side URL transfer library supporting a wide range of protocols including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, SMTP, POP3, IMAP, LDAP, MQTT, WebSocket, and many more. The curl tool provides a powerful command-line interface for making network requests with extensive options for authentication, SSL/TLS configuration, proxy support, output formatting, and scripting. The architecture is a classic C library with a public API (include/curl/) and a separate CLI tool (src/) that links against the library. Key entry points include curl_easy_perform() for synchronous transfers, curl_multi_perform() for asynchronous multiplexed transfers, and the curl command-line binary. Data flows involve URL parsing, DNS resolution (with support for c-ares, threaded, and DoH), connection establishment via a filter chain (TCP, TLS, HTTP/2, HTTP/3, SOCKS, etc.), protocol-specific handling, and response processing. External dependencies include OpenSSL, GnuTLS, wolfSSL, mbedTLS, Schannel, rustls for TLS; c-ares for async DNS; libssh2/libssh for SSH; nghttp2 for HTTP/2; ngtcp2 and quiche for HTTP/3; and various system libraries. The codebase is exceptionally well-structured, with a modular filter architecture, extensive test coverage (unit, integration, and HTTP test suites), and a strong emphasis on portability across Unix, Windows, macOS, and embedded platforms.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
nginx/nginx ★ 31798 8308 APPLICATION

This repository is the source code for NGINX, a production-grade web server, reverse proxy, load balancer, API gateway, and mail proxy. The codebase is written entirely in C and is a definitive example of high-performance systems architecture. It employs a modular, event-driven, multi-process (master/worker) model. The core infrastructure is built around a set of highly optimized, self-contained data structures and utilities: a slab allocator for shared memory, a memory pool for request-scoped allocation, a red-black tree for timers and caches, a radix tree for IP routing, a hash table with wildcard support for server name matching, and an incremental JSON parser. The build system (auto/) is a sophisticated set of shell scripts that handle platform detection, dependency configuration, and module compilation. The code supports HTTP/1.x, HTTP/2, HTTP/3 (QUIC), TCP/UDP proxying (Stream module), and mail protocols (POP3, IMAP, SMTP). It is actively maintained, with a strong focus on performance, stability, and security. The code is exceptionally clean and well-structured for a project of its age and complexity, though it contains some platform-specific #ifdef sprawl and duplication between HTTP and Stream modules (e.g., upstream least_time, map).

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
locustio/locust ★ 28199 3257 APPLICATION

Locust is an open-source, developer-friendly load testing framework written in Python. It allows users to define test scenarios as regular Python code using `User` classes with `@task` decorators and configurable wait times. The system supports HTTP and other protocols via built-in clients (HttpUser, FastHttpUser) and extensible contrib modules (MQTT, gRPC, Postgres, etc.). It provides a real-time web UI built with React/Redux/MUI for controlling tests and viewing statistics, a headless CLI mode for CI/CD integration, and a distributed architecture using ZMQ for master/worker coordination. The framework collects detailed per-request metrics (response times, percentiles, error rates) and can export CSV, HTML, and JSON reports. It also integrates with OpenTelemetry for observability. The codebase is well-structured with a clean event-driven architecture, extensive test coverage, and a plugin system for custom extensions.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
PostgREST/postgrest ★ 27693 1229 APPLICATION

PostgREST is a production-grade Haskell web server that converts an existing PostgreSQL schema into a RESTful HTTP API. At startup it introspects PostgreSQL system catalogs to build a schema cache of tables, views, relationships, routines, and media handlers. Each request is parsed into an internal AST (ApiRequest), planned against the schema cache (Plan), compiled to parameterized SQL (QueryBuilder), and executed through the vendored Hasql PostgreSQL driver. The server supports full CRUD, RPC calls, resource embedding via foreign keys, filtering, ordering, pagination, JWT authentication, OpenAPI generation, and custom PostgreSQL-defined media types. Authorization is delegated to the database: PostgREST connects as an authenticator role that does SET ROLE to the JWT-specified role, so row-level security, grants, and triggers are enforced by PostgreSQL. The system runs as a single Haskell binary with lifecycle management, SIGUSR2/config reload through LISTEN/NOTIFY, a separate admin server exposing /live, /ready, /metrics, and schema cache dumps, and metrics via Prometheus. Build and packaging is Nix-based with static linking, Docker images, and cabal/stack support. CI runs integration suites against multiple PostgreSQL versions and includes load, memory, observability, and replica tests. Maintenance is active, with frequent releases and broad production use. The codebase demonstrates a clean separation between HTTP parsing, query planning, SQL generation, and database access. It is one of the few Haskell projects at this scale with deep PostgreSQL binary-protocol integration. The vendored Hasql driver and several standalone modules—media type parsing, HTTP Range handling, SIEVE cache, JSON path parsing—are extractable as reusable components for other Haskell services.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
vapor/vapor ★ 26227 1535 APPLICATION

Vapor is a production-grade asynchronous HTTP web framework for Swift. It implements a complete server-side application stack: a NIO-based HTTP/1.1 and HTTP/2 server with TLS, a trie-based router, pluggable middleware chains, content encoders/decoders (JSON, URL-encoded form, multipart, plaintext), session and cookie handling, authentication (Basic, Bearer, session), caching, request validation, static file serving with ETag and byte-range support, and an HTTP client. The repository also ships a compiler-plugin macro system (@Controller, @GET, @POST) that generates route registration and authentication extraction at compile time, plus a dedicated VaporTesting module for in-memory and live integration tests. Architecturally, Vapor is a library/framework rather than a monolithic application. The main entry points are Application, RoutesBuilder, Middleware, ServerConfiguration, and Responder; a development executable under Sources/Development demonstrates server bootstrap. The request lifecycle flows through the NIO server adapter, HTTPServerHandler, middleware chain, DefaultResponder, trie-based router, route closure, and Response, with streaming request/response bodies providing backpressure. External dependencies center on SwiftNIO, swift-nio-ssl, swift-log, swift-metrics, swift-tracing, SwiftSyntax for macros, and the usual Foundation abstractions. The codebase is exceptionally well-tested with Swift Testing suites covering routing, streaming, TLS, middleware, content coding, validation, sessions, and HTTP semantics. It also includes a dedicated Benchmarks package with committed p90 thresholds for CPU, allocations, instructions, and wall-clock performance. Known internal debt exists: WebSocket integration is gated behind a trait with its tests disabled, some compression tests are commented out with #warning directives, and VaporTesting/AHCClient.swift is a manually duplicated client implementation. Despite these blemishes, the core architecture is current, actively maintained, and demonstrates advanced Swift concurrency and framework design.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
falconry/falcon ★ 9807 1038 APPLICATION

Falcon is a minimalist Python web framework for building HTTP APIs, supporting both WSGI and ASGI, with optional WebSocket and Server-Sent Events support. The code implements a resource/responder routing model where classes expose on_get/on_post/on_websocket methods, plus middleware, before/after hooks, pluggable media handlers, error handler registries, and static file serving. It has no mandatory runtime dependencies; optional Cython modules accelerate URL/query parsing and buffered stream reads, with pure-Python fallbacks. Architecturally, Falcon is a library rather than a deployable service: applications instantiate falcon.App (WSGI) or falcon.asgi.App (ASGI), register routes, and run under any compatible server. The request pipeline is middleware -> routing -> responder -> response, with native async support and coroutine-wrapping for sync code. The repository also contains a comprehensive serverless testing client, benchmarks against other Python frameworks, tutorial applications, and a large test suite covering CPython 3.9-3.15, PyPy, Cython builds, and multiple ASGI/WSGI servers. Maintenance is active: commits are recent, CI/CD is extensive, contributing guidelines demand 100% branch coverage, and deprecations are tracked for planned removal in Falcon 5.0. The codebase is high-quality and well-structured, though it intentionally carries backward-compatibility shims and some duplicated WSGI/ASGI logic as a maintenance tradeoff. There is no data-research character; benchmark tooling is for performance comparison only.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
apple/swift-nio ★ 8538 814 APPLICATION

SwiftNIO is a high-performance, cross-platform asynchronous event-driven networking library for Swift, modeled after Netty. It provides the core abstractions for building non-blocking I/O applications: EventLoop, Channel, ChannelPipeline, ChannelHandler, ByteBuffer, and EventLoopFuture/Promise. The library includes in-tree protocol implementations for HTTP/1.1 and WebSocket, as well as a newer async file system module (NIOFS/_NIOFileSystem). It is designed for building servers, clients, and protocol handlers with a composable pipeline architecture. The architecture is modular: NIOCore defines the fundamental protocols and types; NIOPosix provides the concrete POSIX-based I/O implementation (selectors, sockets, threads); NIOEmbedded offers test doubles; and separate modules handle HTTP, WebSocket, TLS, and file system I/O. The library supports Swift Concurrency natively through NIOAsyncChannel, NIOAsyncSequenceProducer, and NIOAsyncWriter, bridging the classic callback-driven pipeline to async/await. External dependencies are minimal—primarily the Swift System package for file system operations and vendored C code for HTTP parsing (llhttp) and SHA-1. Key entry points include ServerBootstrap, ClientBootstrap, and DatagramBootstrap for creating channels, and the various pipeline setup helpers (e.g., configureHTTPServerPipeline). Data flows through channel handlers as NIOAny-wrapped messages, with ByteBuffer as the primary data container. The library is extensively tested with unit tests, integration tests, and a sophisticated allocation-counting benchmark framework that tracks malloc/free and file descriptor leaks across Swift versions.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
expressjs/express ★ 69503 25128 APPLICATION

Express.js is a minimalist and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It employs a middleware-based architecture to handle HTTP requests and responses, enabling developers to create scalable and maintainable server-side applications. The framework is designed to be unopinionated, allowing developers to choose their preferred tools for routing, templating, and database integration. Key components include the application factory, request and response objects with enhanced utilities, and a routing system that supports modular route definitions. Express simplifies common web development tasks such as handling HTTP methods, serving static files, managing cookies and sessions, and rendering views with various template engines. Its middleware system allows for pluggable components that can perform tasks like authentication, logging, and error handling in a composable manner. Express.js has been widely adopted in the Node.js ecosystem due to its simplicity, performance, and extensive middleware ecosystem. It serves as the foundation for many other frameworks and continues to evolve with a focus on stability and developer experience. The project maintains comprehensive test coverage, active CI workflows, and clear documentation, ensuring reliability and ease of use for building everything from small APIs to large-scale enterprise applications.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
psf/requests ★ 54347 11117 APPLICATION

Requests is a widely-used Python HTTP library that provides a simple, elegant API for making HTTP/1.1 requests. It abstracts away the complexities of urllib3, offering features like session persistence, cookie handling, automatic content decoding, SSL/TLS verification, and various authentication mechanisms (Basic, Digest, OAuth via extensions). The library is designed as a set of loosely coupled modules: the public API (api.py) delegates to a Session object (sessions.py) which manages connection pooling and request defaults; the HTTPAdapter (adapters.py) bridges to urllib3; and models.py defines Request, PreparedRequest, and Response objects. The codebase is well-structured, extensively tested, and follows a feature-freeze policy, focusing on stability and compatibility rather than new features. It is not an application or data research project; it is a pure library distributed via PyPI.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
MHSanaei/3x-ui ★ 47157 11911 APPLICATION

This repository is a full-featured web control panel for managing Xray-core proxy servers, known as 3x-ui. It provides a complete management interface for creating and configuring proxy inbounds (VLESS, VMess, Trojan, Shadowsocks, WireGuard, AmneziaWG, TUIC, Hysteria, MTProto, etc.), managing client accounts with traffic quotas and expiry, operating multi-node distributed setups, and generating subscription links (v2ray, Clash, JSON). The backend is written in Go using the Gin web framework and GORM for database access (SQLite or PostgreSQL), while the frontend is a React/TypeScript SPA with Ant Design and TanStack Query. The system includes sidecar supervision for Xray-core, MTProto (mtg), and TUIC binaries, a Telegram bot, Discord integration, email notifications, and an API token system. It features extensive automated testing (unit, integration, scale, mutation tests) and a documentation site built with Next.js and fumadocs.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mitmproxy/mitmproxy ★ 45255 4760 APPLICATION

mitmproxy is a production-grade, interactive HTTPS proxy that intercepts, inspects, modifies, and replays HTTP/1, HTTP/2, HTTP/3, WebSocket, TCP, UDP, DNS, and QUIC traffic. It supports multiple proxy modes (regular, transparent, reverse, upstream, SOCKS5, DNS, WireGuard, TUN, local) and provides three frontends: a console TUI (mitmproxy), a command-line dump tool (mitmdump), and a web UI (mitmweb). The architecture is event-driven with a sans-IO proxy layer design: protocol layers yield commands and events processed by an asyncio event loop. An extensive addon system allows users to extend functionality via lifecycle hooks, custom commands, and content views. The codebase is well-structured, heavily typed, and includes a comprehensive test suite with fuzzing and benchmarks. It is actively maintained with frequent releases and security patches.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
tokio-rs/axum ★ 27445 1507 APPLICATION

axum is a Rust web framework for building HTTP APIs, focusing on ergonomics, modularity, and type safety. It provides a trait-based extractor system for request parsing (FromRequest, FromRequestParts), a composable response system (IntoResponse), and middleware layering via the Tower ecosystem. The framework is built on top of hyper and tokio, offering async request handling with support for WebSockets, Server-Sent Events, file streaming, and more. The architecture is modular, with core traits defined in the `axum-core` crate, additional features (cookies, multipart, typed headers) in `axum-extra`, and proc macros for derive patterns in `axum-macros`. The main entry point is `axum::Router`, which provides methods for routing, nesting, merging, and applying middleware layers. Handlers are async functions that accept extractor arguments (Path, Query, Json, State, etc.) and return any type implementing IntoResponse. The framework emphasizes compile-time safety through macros like `#[derive(FromRequest)]` and `#[derive(TypedPath)]`, and provides debugging aids like `#[debug_handler]` for better type error messages. It includes a rich set of examples demonstrating common patterns such as database integration, authentication, real-time communication, and error handling. External dependencies include tower and tower-http for service abstractions, hyper for HTTP parsing, serde for serialization, and tokio for async runtime. The codebase is actively maintained with a clear versioning strategy, though the main branch contains breaking changes for the upcoming 0.9 release.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
koajs/koa ★ 35681 3234 APPLICATION

Koa is a lightweight, expressive HTTP middleware framework for Node.js, designed to provide a robust foundation for web applications and APIs. It leverages async/await to eliminate callback hell and offers a clean, stack-like middleware composition. The core library (~570 SLOC) includes essential HTTP utilities such as content negotiation, cookie handling, redirection, and error handling, but deliberately excludes routing and templating, leaving those to third-party middleware. The architecture centers around a Context object that encapsulates Node's req/res, with Request and Response abstractions providing convenient getters/setters. Koa v3 adds support for AsyncLocalStorage for per-request context, WHATWG Web API types (Blob, ReadableStream, Response) as response bodies, and improved security around host header parsing. The codebase is well-maintained, with active development, comprehensive test coverage, and modern Node.js practices.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
go-kratos/kratos ★ 25962 4180 APPLICATION

Kratos is a production-grade Go microservices framework designed for cloud-native applications. It provides a unified transport layer supporting both HTTP (gorilla/mux) and gRPC, with a composable middleware chain for cross-cutting concerns like logging, tracing, authentication, rate limiting, and circuit breaking. The framework is protobuf-first: service definitions are written in proto files, and code generators (protoc-gen-go-http, protoc-gen-go-errors) produce HTTP stubs and structured error types. It includes a pluggable configuration system with support for multiple sources (file, etcd, consul, nacos, apollo, kubernetes, polaris), a service registry abstraction with implementations for etcd, consul, nacos, eureka, zookeeper, kubernetes, polaris, and others, and a load balancing selector with algorithms like random, weighted round-robin, and power of two choices (p2c). Observability is integrated via OpenTelemetry (tracing, metrics, logging) and Sentry error tracking. The CLI tool `kratos` scaffolds new projects, manages proto generation, and handles upgrades. The architecture is modular: core packages are minimal and extensible, with contrib packages as separate Go modules. The codebase demonstrates strong engineering practices, clean interfaces, and well-tested core components.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
apache/tomcat ★ 8258 5405 APPLICATION

Apache Tomcat is a production-grade Java servlet container and web server. In production it deploys WAR applications and provides the full Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, and Jakarta WebSocket runtimes, along with HTTP/1.1, HTTP/2, and AJP connectors. It handles the complete request lifecycle: protocol parsing in Coyote, container routing and request processing in Catalina, JSP compilation in Jasper, EL evaluation, JNDI resource resolution, session management, authentication/authorization realms, TLS termination, and optional high-availability clustering through the Tribes channel. The embedded variant exposed via org.apache.catalina.startup.Tomcat is also widely used as a library to launch servlet containers from unit tests and standalone Java applications. The architecture is a layered, modular monolith: the Coyote connector layer owns network I/O and protocol state machines; Catalina owns the container hierarchy (Server, Service, Engine, Host, Context, Wrapper), valve pipelines, lifecycle management, and deployment; Jasper and the EL engine compile and execute JSP pages; and separate supporting subsystems provide WebSocket, JNDI naming, session replication, JMX management, and the manager web application. Key entry points are bin/catalina.sh and bin/startup.sh for the standalone server, the Bootstrap/Catalina classes, the embedded Tomcat class, and the manager2 webapp for administrative operations. External dependencies are largely optional: a Java runtime, optional Tomcat Native/OpenSSL for accelerated TLS, ECJ for JSP compilation, and JDBC drivers for database resources. Although this is not a data-research repository, it contains a very large and mature test suite including protocol conformance tests, regression tests tied to CVEs and bug reports, and performance harnesses that are deliberately excluded from normal CI. The codebase is actively maintained, tracks current Jakarta EE specifications, supports virtual threads and modern JDKs, and embeds vendored copies of libraries such as DBCP, Pool2, BCEL, and Commons FileUpload. It is substantial, occasionally legacy-heavy around clustering and JNI integrations, but consistently high in engineering rigor and deeply useful as both a server product and a reference implementation of servlet-container internals.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
boostorg/beast ★ 4822 694 APPLICATION

Boost.Beast is a high-performance C++ networking library providing HTTP/1.1 and WebSocket protocol implementations built on Boost.Asio. It is a header-only (with optional separate compilation) library that offers a comprehensive set of vocabulary types, parsers, serializers, stream wrappers, and composed asynchronous operations for building networked applications. The library emphasizes symmetry, ease of use, flexibility, and performance, and includes extensive examples covering synchronous, asynchronous, coroutine (stackful and C++20), and awaitable patterns. It follows the Boost library design conventions and is part of the official Boost collection. The codebase demonstrates high craftsmanship with careful attention to allocators, error handling, executor propagation, and cancellation. While there is some duplication across examples and a few deprecated APIs, the core production headers are well-maintained and actively developed. The library also includes zlib compression for WebSocket permessage-deflate and experimental testing utilities.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jaredwray/cacheable ★ 2007 207 APPLICATION

This repository is a monorepo for the Cacheable ecosystem, providing a comprehensive suite of caching libraries for Node.js. It includes packages for in-memory caching (CacheableMemory, NodeCache), file-based caching (FlatCache, FileEntryCache), HTTP request caching (CacheableRequest, CacheableNet), and a multi-tier cache manager (cache-manager) used by NestJS. The core Cacheable class implements layered (L1/L2) caching with support for TTL, events, hooks, tag-based invalidation, non-blocking writes, and distributed synchronization via Qified/Redis. The architecture is modular, with each package designed to be used independently or composed together. The codebase is written in TypeScript with extensive test coverage (vitest), dual CJS/ESM builds, and uses modern tooling (biome, pnpm). It emphasizes production-readiness with features like stampede protection (coalesceAsync), per-store TTLs, and statistics tracking. The repository also includes a benchmark package comparing various caching implementations and a documentation website. While the API surface is large, the code demonstrates solid engineering practices and provides genuinely reusable components that solve recurring caching problems.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gofiber/fiber ★ 40185 2040 APPLICATION

This is the gofiber/fiber v3 repository, a high-performance, Express-inspired web framework written in Go. The framework provides a full-featured HTTP server with routing, middleware composition, request binding, session management, caching, logging, and an integrated HTTP client. It is built on top of the valyala/fasthttp library, emphasizing speed and low memory allocation. The architecture is library-based: users create an App instance, define routes and middleware, and start the server. The codebase is well-structured with extensive internal packages for common concerns (e.g., URL normalization, header parsing, template formatting). It includes over 30 built-in middleware packages, many of which are configurable and support pluggable storage backends. The code demonstrates strong engineering practices: extensive test coverage (including fuzz tests), object pooling, SIMD-style optimizations, and security-conscious design (SSRF protection, CSRF, redirect validation). Despite some internal complexity and duplication, it is a mature, actively maintained framework suitable for production use.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
reactiveui/refit ★ 9561 787 APPLICATION

Refit is a .NET library that automatically generates type-safe HTTP API clients from C# interfaces decorated with attributes like [Get], [Post], [Header], [Body], and [Query]. It operates via two parallel request-building paths: a Roslyn source generator that emits inline request construction at compile time (trim/AOT-safe), and a reflection-based fallback for unsupported shapes. The library integrates deeply with Microsoft.Extensions.DependencyInjection and IHttpClientFactory, providing extension methods like AddRefitClient<T> and AddKeyedRefitClient for managed HTTP client lifecycles. It supports multiple serializers (System.Text.Json, Newtonsoft.Json, XML), content compression (gzip, Brotli, Zstandard), streaming responses (IAsyncEnumerable, JSON Lines, SSE), multipart form data, and per-request timeouts and authorization via DelegatingHandler pipelines. The architecture is modular: the core Refit package provides attributes, serialization interfaces, and the runtime GeneratedRequestRunner; Refit.HttpClientFactory adds DI integration; Refit.Newtonsoft.Json and Refit.Xml provide alternative serializers; Refit.Reflection offers the runtime request builder; and Refit.Testing supplies StubHttp and Reply for unit testing without a live server. The source generator (InterfaceStubGeneratorV2) is an incremental generator that parses interfaces and emits partial classes into the consumer assembly, using value-equatable models (ImmutableEquatableArray) for caching. The reflection path caches parsed method metadata and builds requests via delegates, ensuring parity with generated code. Key entry points include RestService.For<T>() for creating clients, AddRefitClient<T>() for DI registration, and RefitSettings for central configuration. External dependencies are minimal: System.Text.Json (built-in), Microsoft.Extensions.Http, and optionally Newtonsoft.Json or System.Xml. The library is extensively tested with unit tests, integration tests, snapshot-based generator tests, and benchmarks measuring allocation and throughput. It targets .NET 8/9/10/11 and .NET Framework 4.6.2+, with polyfills for missing BCL types.

RATING: 9.3/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: