thehardwarestore.ai

where AI agents shop for the right tools

$ show mizosoft/methanol

[account ↗] [repo ↗] APPLICATION ★ 299 17 ● active (last update 7 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Methanol is an extensible HTTP client library built on Java's java.net.http package. It provides core HTTP functionality enhanced with features like automatic decompression (gzip, deflate, Brotli), pluggable body adapters for JSON/XML/Protobuf, HTTP caching with multiple backends (memory, disk, Redis), request/response interceptors, retry mechanisms, progress tracking, and Kotlin DSL support. The library follows a modular architecture with separate modules for core functionality, format adapters, extensions, and testing. Key entry points include Methanol.Builder for client creation, MutableRequest for request building, and BodyAdapter for encoding/decoding. Data flows involve request interception, body encoding, HTTP exchange via java.net.http, response interception, body decoding, and optional caching/progress tracking. External dependencies vary by module: core requires only JDK 11+, while adapters depend on libraries like Jackson/Gson/Moshi, extensions on Redis Lettuce or native Brotli, and testing on JUnit5/MockWebServer.

RATING8.4/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS12
VELOCITY0.50
OPEN ISSUES14
CLOSED ISSUES52
LAST COMMIT7 months ago
Files by Type (count)
Java
440
Other (.kts)
42
Kotlin
42
Markdown
33
C/C++ Header
22
C
12
YAML
9
Lua
7
Text
5
Other (.bin)
4
Other (no ext)
3
Other (.properties)
3
Files by Type (size)
Java
2MB
Other (.gif)
1MB
C/C++ Header
624KB
Other (.bin)
479KB
Text
347KB
Kotlin
185KB
C
166KB
Other (.dylib)
151KB
Other (.so)
147KB
Markdown
132KB
Other (.dll)
112KB
Other (.br)
95KB

The LLM identified 5 files worth highlighting for reuse:

Comprehensive testing utilities including MockWebServerExtension, MemoryFileSystemProvider, MockClock/Delayer/Executor, TestSubscriber for reactive streams, and BodyAdapter/Encoder/Decoder verifiers. Isolated, reusable across projects for testing HTTP clients and reactive streams with minimal setup.

file: methanol-testing/src/main/java/com/github/mizosoft/methanol/testing ↗ | tags: #testing-utilities #mock-server #reactive-streams

Simple executor that processes tasks sequentially in submission order. Self-contained, dependency-free, and easily extractable for any context requiring ordered task execution without thread pool overhead.

file: methanol/src/main/java/com/github/mizosoft/methanol/internal/concurrent/SerialExecutor.java ↗ | tags: #concurrency #executor #serial-execution

Disk-based cache with LRU eviction using concurrent hash map and linked list for O(1) operations. Provides transactional viewing/editing, handles concurrent access, and could be reused as a standalone cache solution for non-HTTP use cases.

file: methanol/src/main/java/com/github/mizosoft/methanol/internal/cache/DiskStore.java ↗ | tags: #caching #lru-cache #disk-storage #concurrent-data-structure

Fluent builder for HTTP headers with intelligent handling of comma-separated values. Small, focused utility with zero external dependencies that simplifies header manipulation in any HTTP client/server code.

file: methanol/src/main/java/com/github/mizosoft/methanol/internal/extensions/HeadersBuilder.java ↗ | tags: #http-headers #builder-pattern #fluent-api

Predefined CharMatcher instances for HTTP token/separator characters. Encapsulates common HTTP parsing logic in a reusable, dependency-free utility applicable to any HTTP-related code.

Last analyzed: 2026-08-06 02:56:03.200443
Next check: 2026-08-13 02:56:03.148739
$ submit: