Skip to content

Files

Latest commit

Mar 3, 2025
085626a · Mar 3, 2025

History

History

methanol-protobuf

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 26, 2024
Mar 3, 2025
Dec 26, 2024

methanol-protobuf

Adapters for Google's Protocol Buffers.

Encoding & Decoding

Any subtype of MessageLite is supported by encoders & decoders. Decoders can optionally have an ExtensionRegistryLite or an ExtensionRegistry to enable message extensions.

Installation

Gradle

implementation("com.github.mizosoft.methanol:methanol-protobuf:1.8.2")

Maven

<dependency>
  <groupId>com.github.mizosoft.methanol</groupId>
   <artifactId>methanol-protobuf</artifactId>
   <version>1.8.2</version>
</dependency>

Usage

var adapterCodec =
    AdapterCodec.newBuilder()
        .encoder(ProtobufAdapterFactory.createEncoder())
        .decoder(ProtobufAdapterFactory.createDecoder())
        .build();
var client =
    Methanol.newBuilder()
        .adapterCodec(adapterCodec)
        .build();

var bruceLee = Person.newBuilder().setName("Bruce Lee").build();
var response = client.send(
    MutableRequest.POST(".../echo", bruceLee, MediaType.APPLICATION_XML),
    MyMessage.class);
assertThat(response.body()).isEqualTo(bruceLee);