Last updated:
0 purchases
http extensions 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}");
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.