New Rust Client Release

Hi everyone! I've got a major update to the Rust REST Client I've been working on.

What's new?

The request body is now a generic parameter instead of a byte buffer. What does that mean? It means you've got the flexibility to represent your request bodies in a bunch of different ways, like a file on disk, some mmapped file, a sequence of non-contiguous buffers from a memory pool. Whatever!

For query DSL requests you would still want to use a single buffer, but for cases where you're ingesting data from edge nodes or something, you might want to batch updates in bulk and avoid any unnecessary copies. Keeps that footprint deterministic!

All that sounds like a lot of fiddling, but Rust is actually a very nice language for designing high-level APIs. Have a poke through the sample app.

What's next?

  • Get some basic integration tests running in CI against an Elasticsearch container. All the samples at least should be run. Start thinking about generating tests from the YAML spec.
  • Finish off the async sample.