thehardwarestore.ai

where AI agents shop for the right tools

── 99268 repos indexed ── | filtered by tag: #restful
zeromicro/go-zero ★ 33366 4325 APPLICATION

go-zero is a full-stack Go microservices framework with an integrated code generation toolchain (goctl). In production, it provides a production-grade HTTP/REST server (rest/) with a middleware chain for authentication, tracing, rate limiting, circuit breaking, and load shedding; a gRPC server/client framework (zrpc/) with interceptors for observability, auth, and timeout; an API gateway (gateway/) that translates HTTP requests to gRPC; and a CLI tool (goctl) that generates Go, TypeScript, Dart, Java, and Swagger code from API definitions, SQL schemas, and protobuf files. The core library (core/) delivers building blocks: configuration loading (YAML/JSON/TOML), structured logging with rotation, Prometheus metrics, OpenTelemetry tracing, circuit breaker (Google SRE algorithm), adaptive load shedding, rate limiting (token bucket, period limit), distributed caching (Redis, in-memory), SQL/NoSQL data access with caching, service discovery (etcd, Kubernetes), concurrency primitives (singleflight, mapreduce, stream processing), and data structures (rolling window, timing wheel, safe map). The architecture is modular, with each package providing clean interfaces and option patterns. The codebase is well-tested, actively maintained, and demonstrates strong engineering craftsmanship.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 8 reusable components found
Corvusoft/restbed ★ 1999 380 APPLICATION

restbed is a production-grade C++23 framework for building asynchronous RESTful HTTP and WebSocket servers. It provides a clean, modern API with classes for Service, Resource, Session, Request, Response, and WebSocket communication, all implemented using the pimpl idiom for ABI stability. The framework handles HTTP/1.1, HTTPS (via OpenSSL), WebSocket upgrades, chunked transfer encoding, compression, authentication, and custom error handling. It is designed for high concurrency (C10K) using ASIO's async I/O and supports both single-threaded and multi-threaded modes. The architecture is centered around a Service object that manages an ASIO io_context, publishes Resource endpoints with regex-based routing, and dispatches incoming connections to Session objects. Each Session encapsulates a socket (with optional SSL) and provides methods to yield responses, fetch request bodies, and upgrade to WebSocket. The framework includes extensive regression tests (50+ suites) covering edge cases like keep-alive, error handler reset, WebSocket frame parsing, and locale sensitivity. Key entry points include Service::start() and Service::stop() for lifecycle, Resource::set_method_handler() for routing, and Session::yield() for sending responses. External dependencies are minimal: standalone ASIO (header-only), optional OpenSSL, and Catch2 for tests. The build system uses Autotools, and the library is dual-licensed under AGPL and commercial CPL. Despite the anomalous last commit date (2026-06-23, likely a data error), the codebase shows active maintenance with modern C++23 features, a comprehensive test suite, and CI workflows for Linux, macOS, and Windows (MSYS2). The framework is mature (since 2013) and suitable for embedded, mobile, desktop, and server environments.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
nicolargo/glances ★ 33746 1821 APPLICATION

Glances is a cross-platform, real-time system monitoring tool written in Python. It collects system metrics (CPU, memory, disk, network, processes, sensors, containers, GPU, NPU, etc.) via the `psutil` library and optional hardware-specific backends, and renders them through multiple interfaces: a curses-based terminal UI, a web UI (Vue.js + FastAPI REST API), a pure JSON/CSV stdout mode, a Model Context Protocol (MCP) server for AI assistant integration, and exports to 20+ time-series databases and message brokers (InfluxDB, Prometheus, Kafka, Elasticsearch, etc.). The architecture is modular and plugin-based: each metric domain is a self-contained plugin inheriting from a common base class, and each export target is a separate module. Glances can run standalone (local monitoring), in client/server mode (XML-RPC or REST), or as a central browser that discovers and displays multiple Glances instances via Zeroconf. The project is production-grade, with extensive test coverage, CI/CD across multiple OSes, Docker images, and active security maintenance. Its primary use case is real-time monitoring of single or distributed systems, with optional historical data export for long-term analysis.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
apache/dubbo ★ 41582 26354 APPLICATION

Apache Dubbo is a mature, actively maintained Java-based RPC framework and microservices platform. It is not a data research project. The codebase implements a complete distributed service communication solution, including multiple RPC protocols (Dubbo2/TCP, Triple/gRPC-compatible, REST, WebSocket), service discovery and registration (ZooKeeper, Nacos, Apollo, multicast), traffic management (routing, load balancing, circuit breaking), observability (metrics, tracing, monitoring), security (authentication, TLS), and a large set of extension points via a custom SPI mechanism. The architecture is modular and layered, organized into distinct Maven modules for remoting, RPC, cluster, config, registry, metadata, metrics, serialization, and Spring Boot integration. Key entry points include DubboBootstrap for programmatic startup, ServiceConfig/ReferenceConfig for service export/import, and various protocol and registry factories loaded via SPI. The system relies heavily on URL-based configuration, extension loading, and a scope model (framework, application, module, service) for lifecycle and classloader isolation. The codebase is massive (4870 files), with extensive test coverage and active development (last commit 2026-06-29). It demonstrates strong engineering practices: clean abstractions, consistent patterns, backward-compatibility layers (dubbo-compatible), and support for modern Java versions and Spring Boot 3.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 8 reusable components found
xuxueli/xxl-job ★ 30601 11496 APPLICATION

XXL-JOB is a distributed task scheduling framework designed for rapid development, simplicity, and lightweight operation. It consists of a scheduler center (admin) and multiple executors. The admin provides a web UI for CRUD job management, scheduling (cron, fix rate, fix delay), routing strategies (first, last, round, random, consistent hash, LFU, LRU, failover, busyover, sharding broadcast), misfire handling, alarm (email), and monitoring. Executors run on any JVM and communicate with the admin via Netty-based HTTP RPC. The framework supports BEAN (annotated methods), GLUE (online Groovy/script editing), script tasks (Shell, Python, PHP, NodeJS, PowerShell), HTTP tasks, and AI tasks (Ollama, Dify, OpenClaw). It includes an OpenAPI for cross-language integration, user management with role-based permissions, and Docker deployment. The architecture is modular: xxl-job-core provides the executor runtime and shared interfaces, xxl-job-admin is the Spring Boot admin application, and sample executors demonstrate integration. External dependencies include MySQL (persistence), Netty (executor server), Groovy (glue tasks), and Spring Boot. The framework is production-ready with HA support for both scheduler and executor clusters.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
dromara/forest ★ 1946 239 APPLICATION

Dromara/forest is a declarative HTTP client framework for Java. It allows developers to define HTTP APIs via annotations on interfaces, similar to Retrofit for Android, but targeting the Java ecosystem with deep integration for Spring Boot and Solon. The core engine uses dynamic proxies to intercept interface invocations, builds HTTP requests from annotation metadata, and dispatches them to pluggable backends (Apache HttpClient, OkHttp3). It supports all HTTP methods, file upload/download, JSON/XML/Protobuf serialization, server-sent events (SSE), OAuth2 authentication, retry/redirect policies, cookie management, and async execution (including Kotlin coroutines and Project Reactor). The architecture is modular: a core library defines the annotation lifecycle, request/response models, converter abstractions, and interceptor chains, while separate modules provide Spring Boot auto-configuration, Solon plugin, JAXB/Jakarta XML converters, and a mock server for testing. The framework is designed for production use with customizable logging, SSL, proxy, and connection pooling. External dependencies include OkHttp3, Apache HttpClient, Jackson/Gson/Fastjson for JSON, and optional Reactor/Kotlin. The project includes extensive examples for integrating with AI APIs (ChatGPT, DeepSeek) and standard REST services.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
charlesabarnes/SPFtoolbox ★ 299 67 APPLICATION

SPFtoolbox is a web application for performing DNS and WHOIS lookups. It provides a user-friendly interface to query various DNS record types (A, AAAA, MX, TXT, SPF, DMARC, etc.), check blacklists, verify port connectivity, perform reverse DNS lookups, and retrieve WHOIS information. The application consists of a PHP backend that handles the lookup operations and a JavaScript frontend that manages the user interface and AJAX requests. The backend uses PHP's built-in DNS functions and integrates the phpWhois library for WHOIS queries.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
dsternlicht/RESTool ★ 490 120 APPLICATION

RESTool is a configurable React-based UI tool for managing RESTful APIs. It generates interfaces for API resources based on a simple JSON or JavaScript configuration file, providing automatic creation of navigation menus, data tables/cards views, forms for CRUD operations, and custom action buttons. The application features authentication handling (session cookie based), internationalization support, pagination controls, client-side filtering, and responsive design. Built with React, TypeScript, and Vite, it follows a client-side SPA architecture with service layers for HTTP requests and authentication, and uses React Context for state management. The UI adapts to configuration-defined display types (table or cards) and supports both button-based and infinite-scroll pagination.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
── end of results ──
$ submit: