Crate sift_connect

Source
Expand description

sift_connect is a convenience crate that makes it simple to create a gRPC connection to Sift. Most users won’t need to install this crate as it’s re-exported in other crates. The following is an example of how to create a gRPC connection to Sift using sane defaults.

use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;

let credentials = Credentials::Config {
    uri: env::var("SIFT_URI").unwrap(),
    apikey: env::var("SIFT_API_KEY").unwrap(),
};

let grpc_conn = SiftChannelBuilder::new(credentials)
    .build()
    .unwrap();

§Config file

Credentials can also be loaded from a sift.toml file stored in a the user’s local config directory.

The following is an example of a valid sift.toml file:

uri = "http://example-sift-api.com"
apikey = "example-sift-api-key"

[mission]
uri = "http://example-sift-api.com"
apikey = "my-other-sift-api-key"

The top-level TOML table is considered the default profile, with the mission table being a named profile. To reference the default profile:

use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;

let credentials = Credentials::Profile(None);

let grpc_conn = SiftChannelBuilder::new(credentials)
    .build()
    .unwrap();

To reference the mission profile:

use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;

let credentials = Credentials::Profile(Some("mission".into()));

let grpc_conn = SiftChannelBuilder::new(credentials)
    .build()
    .unwrap();

Re-exports§

pub use grpc::Credentials;
pub use grpc::SiftChannel;
pub use grpc::SiftChannelBuilder;

Modules§

grpc
Concerned with establishing a connection to Sift’s gRPC service.

Structs§

Error
Error type returned across all Sift crates.

Enums§

ErrorKind
Various categories of errors that can occur throughout Sift crates.