http_extensions_protobuf 1.0.0 icon indicating copy to clipboard operation
http_extensions_protobuf: ^1.0.0 copied to clipboard

An http extension that serializes requests body to protobuf and deserializes responses's content from protobuf.

http_extensions : protobuf #

An [http extension] that serializes requests body to protobuf and deserializes responses's content from protobuf.

Usage #

final client = ExtendedClient(
  inner: Client(),
  extensions: [
    ProtobufExtension(logger: Logger("Protobuf"),
    defaultOptions: ProtobufOptions(
      contentType: "application/x-protobuf", // The value of the content type header sent to server.
      shouldDeserialize: (response) => response.statusCode >= 200 && response.statusCode < 300, // Indicates whether a response should be deserialized
      shouldSerialize: (request) => true, // Indicates whether a request should be serialized
    )),
  ],
);

// The new request will serialize requestMessage to body and responseMessage from response content
final proto = ProtobufOptions(
  requestMessage: HelloRequest(),
  responseMessage: HelloReply(),
);

final response = await client.postWithOptions(
  "http://www.flutter.dev",
  options: [proto],
);

if (response.statusCode == 200) {
  print("Reply: ${proto.responseMessage}");
}
2
likes
120
pub points
39%
popularity

Publisher

unverified uploader

An http extension that serializes requests body to protobuf and deserializes responses's content from protobuf.

Homepage

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

http, http_extensions, logging, meta, protobuf

More

Packages that depend on http_extensions_protobuf