2 releases

0.1.1 Nov 16, 2021
0.1.0 Nov 16, 2021

#653 in Authentication

30 downloads per month

MIT license

12KB
191 lines

CF Services

crates.io Rust License: MIT

This library is aimed at removing the boilerplate code and let developers just worry about using actually connecting to the services they have bounded to their app.

Retrieving VCAP_SERVICES

Simply use cf_services::get_services_from_env().

use cf_services::get_services_from_env;

fn main() {
    let services = get_services_from_env().unwrap();
    let service = services.get("serviceA").unwrap();
    // Use information about service A to perform actions (such as creating an OAuth2 Client)
}

Retrieving Credentials of a Service

Call cf_services::get_service_credentials(..) by passing the VCAP_SERVICES marshalled JSON and the name of the service to retrieve the credentials for. If VCAP_SERVICES is guaranteed to be an environment variable use cf_services::get_service_cred_from_env(..) instead.

use cf_services::{get_services_from_env, get_service_credentials, get_service_cred_from_env};

fn main() {
    let services = get_services_from_env().unwrap();
    let creds = get_service_credentials(services, "serviceB").unwrap();
    // Use credentials...

    // Retrieve the JSON from the environment
    let creds = get_service_cred_from_env("serviceB").unwrap();
    // Use credentials...
}

Dependencies

~0.7–1.4MB
~33K SLoC