[][src]Crate bindle

A crate for interacting with Bindles

Bindle is an aggregate object storage system used for storing aggregate applications. For more information and examples, see the README in the Bindle repo.

This crate is the reference implementation of the Bindle Spec and it contains both a client and a server implementation, along with various other utilities

Modules

async_util

A collection of various utilities for asyncifying things, publicly exposed for convenience of those consuming Bindle as a Rust SDK

cache

Caching implementations for client and server-side usage. This module is under heavy development and iteration

client

Client implementation for consuming a Bindle API. Although written in Rust, it is not specific to the Rust implementation. It is meant to consume any spec-compliant bindle implementation.

filters

A filtering library for extracing parcels from a bindle.

provider

The Provider trait definition and various implementations.

proxy

A proxy provider implementation that forwards all requests to another server using the Bindle client. This requires the client feature to be enabled

search

Common types and traits for use in implementing query functionality for a Bindle server. Note that this functionality is quite likely to change

server

Server implementation of the Bindle Protocol Spec, with associated HTTP handlers and functions

standalone

Functions and types for reading and writing to standalone bindles

testing

Some helpful utilities for testing. This module is only available if the test-tools feature is enabled. Its main feature is allowing the use of prebuilt scaffolds for testing.

Structs

BindleSpec
Condition

Conditions associate parcels to Groups

ErrorResponse

A string error message returned from the server

Group

A group is a top-level organization object that may contain zero or more parcels. Every parcel belongs to at least one group, but may belong to others.

Id

A parsed representation of an ID string for a bindle. This is currently defined as an arbitrary path with a version string at the end.

Invoice

The main structure for a Bindle invoice.

InvoiceCreateResponse

A custom type for responding to invoice creation requests. Because invoices can be created before parcels are uploaded, this allows the API to inform the user if there are missing parcels in the bindle spec

Label

Metadata of a stored parcel

Matches

Describes the matches that are returned from a query

MissingParcelsResponse

A response to a missing parcels request. TOML doesn't support top level arrays, so they must be embedded in a table

Parcel

A description of a stored parcel file

QueryOptions

Available options for the query API

Constants

BINDLE_VERSION_1

The version string for the v1 Bindle Spec

Type Definitions

AnnotationMap

Alias for annotations map

FeatureMap

Alias for feature map in an Invoice's parcel