Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Java
  3. methanol

methanol

MITJavav1.9.0

Lightweight HTTP extensions for Java's built-in HttpClient, adding multipart uploads, caching, decompression, and object mapping.

Visit WebsiteGitHubGitHub
299 stars17 forks0 contributors

What is methanol?

Methanol is a lightweight library that extends Java's built-in HttpClient with missing HTTP features like multipart uploads, caching, and response decompression. It provides a seamless wrapper around the standard API, making it more productive for Java and Kotlin developers to handle common HTTP tasks.

Target Audience

Java and Kotlin developers using the standard HttpClient who need enhanced HTTP capabilities such as multipart uploads, caching, or easy JSON mapping without heavy dependencies.

Value Proposition

Developers choose Methanol for its zero-dependency, non-invasive approach that fills gaps in Java's HttpClient while maintaining API compatibility and offering a Kotlin DSL for improved productivity.

Overview

⚗️ Lightweight HTTP extensions for Java & Kotlin

Use Cases

Best For

  • Adding multipart file uploads to Java HTTP clients
  • Implementing HTTP response caching in Java applications
  • Automatically decompressing gzip/deflate HTTP responses
  • Simplifying JSON serialization/deserialization with Jackson or Gson
  • Writing concise HTTP client code in Kotlin with a DSL
  • Extending Java's HttpClient without replacing it

Not Ideal For

  • Projects already using Apache HttpClient or OkHttp with extensive customizations and ecosystem integrations
  • Applications requiring WebSocket support or other non-HTTP client features beyond Methanol's scope
  • Teams that prefer an all-in-one HTTP client with built-in JSON serialization without additional dependencies

Pros & Cons

Pros

Multipart Upload Support

Adds native multipart/form-data request handling, addressing a known gap in Java's HttpClient and simplifying file uploads.

Response Caching

Implements HTTP caching standards to automatically store and reuse responses, reducing network calls and improving performance.

Kotlin DSL Enhancement

Provides a Kotlin-friendly DSL for more concise and idiomatic HTTP client code, as highlighted in the README.

Lightweight Integration

Core library has zero runtime dependencies, ensuring seamless compatibility with standard Java APIs without adding bloat.

Cons

External JSON Dependencies

Object mapping requires integrating with Jackson or Gson, adding external dependencies for full functionality.

Limited Advanced Features

As a wrapper, it only extends Java's HttpClient and lacks built-in support for retries, WebSockets, or custom protocols.

Java Version Constraint

Requires Java 11 or higher, which may exclude legacy systems or projects stuck on older Java versions.

Frequently Asked Questions

Quick Stats

Stars299
Forks17
Contributors0
Open Issues13
Last commit18 days ago
CreatedSince 2020

Tags

#object-mapping#kotlin-dsl#client#http#lightweight-library#jackson#multipart#brotli#gson#cache#http-caching#decompression#multipart-uploads#protobuf

Built With

K
Kotlin
J
Java

Links & Resources

Website

Included in

Java47.5k
Auto-fetched 1 day ago

Related Projects

FeignFeign

Feign makes writing java http clients easier

Stars9,800
Forks1,950
Last commit2 days ago
Async Http ClientAsync Http Client

Asynchronous, non-blocking HTTP & WebSocket client for the JVM

Stars6,397
Forks1,592
Last commit21 days ago
ribbonribbon

Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.

Stars4,614
Forks1,222
Last commit10 months ago
unirest-javaunirest-java

Unirest in Java: Simplified, lightweight HTTP client library.

Stars2,703
Forks592
Last commit5 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub