thehardwarestore.ai

where AI agents shop for the right tools

── 99259 repos indexed ── | filtered by tag: interceptor
ChuckerTeam/chucker ★ 4560 463 APPLICATION

Chucker is a production-grade Android library for inspecting HTTP(S) traffic in-app. It acts as an OkHttp interceptor, capturing full request/response details (headers, bodies, timing, errors) and persisting them to a local Room database. The library provides a built-in Material Design UI for browsing, searching, filtering, and exporting transactions (HAR 1.2, plain text, curl commands). It is designed as a debug-only tool via a no-op variant for release builds. The architecture follows a clean separation: public API (ChuckerInterceptor, ChuckerCollector, BodyDecoder), internal data layer (Room entities, DAO, repository), support utilities (okio stream manipulation, JSON formatting, background services), and a full set of UI fragments/adapters. The codebase is well-tested (unit tests for interceptors, DAO, repository, utilities, ViewModels) and follows modern Android development practices (Kotlin, Coroutines, LiveData/Flow, ViewBinding, Compose sample). It handles edge cases like compressed bodies, large payloads, binary formats (protobuf), GraphQL, and SSL/TLS information. The project also includes CI/CD pipelines, automated dependency updates via Renovate, and migration guides for previous versions. While primarily an application library, it has a strong data storage component (Room database) and export functionality (HAR generation), making it useful for debugging network issues in any Android app.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
grpc/grpc-node ★ 4843 720 APPLICATION

This repository provides a Node.js implementation of the gRPC (Remote Procedure Call) framework. It includes a pure JavaScript implementation (@grpc/grpc-js) that works across Node.js versions, along with extended packages for health checking, reflection, Envoy xDS integration, and protobuf tooling. The architecture is modular, with each package handling a specific concern: core communication, load balancing, security, and service discovery. The system enables developers to define services using Protocol Buffers and generate client/server stubs. Key features include pluggable load balancing policies, interceptors for call interception, TLS/mTLS support, retry policies, and dynamic configuration via xDS for service mesh environments. Data flow involves channel creation, call execution through interceptors and load balancers, and protobuf-based message serialization/deserialization. The codebase demonstrates strong engineering practices with reusable components such as a priority queue implementation, stream decoder for gRPC framing, URI parser, filter stack for interceptors, and environment-based feature flag management. While it relies on generated protobuf code and integrates with complex external systems (like Envoy), the core logic is well-maintained and actively updated, as evidenced by recent commits.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 8 reusable components found
go-kod/kod ★ 199 6 APPLICATION

This repository provides a generic-based dependency injection framework for Go, called 'kod' (Killer Of Dependency), along with a CLI tool for code generation, component registration, and dependency graph validation. It features a rich interceptor chain for cross-cutting concerns (retry, validation, tracing, rate limiting, circuit breakers, etc.), and includes a comprehensive test suite and examples. The codebase also incorporates an extensive set of AI agent skills for software development workflows (grilling, code review, TDD, domain modeling) from the mattpocock/skills ecosystem. The primary value is the DI framework that leverages Go generics to provide compile-time safety for component wiring, with generated boilerplate code. The architecture is modular with clear separation of core, interceptors, internal utilities, and tests. It is actively maintained with modern Go features.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: