Crate env_url[][src]

Expand description

This crate provides env-composable service urls complete with key overrides as to facilitate flexibility and to simplify integration with kubernetes.

Env mapping behaviors

ENV
{PREFIX}_URLset service url, disregarding other overrides
{PREFIX}_URL_ENVoverride {PREFIX}_URL env mapping
{PREFIX}_SCHEMEset url scheme component
{PREFIX}_SCHEME_ENVoverride {PREFIX}_SCHEME env mapping
{PREFIX}_PATHset url path component
{PREFIX}_PATH_ENVoverride {PREFIX}_PATH env mapping
{PREFIX}_QUERYset url query component
{PREFIX}_QUERY_ENVoverride {PREFIX}_QUERY env mapping
{PREFIX}_USERNAMEset url username component (if password set)
{PREFIX}_USERNAME_ENVoverride {PREFIX}_USERNAME env mapping
{PREFIX}_PASSWORDset url password (username as “default” if empty)
{PREFIX}_PASSWORD_ENVoverride {PREFIX}_PASSWORD env mapping

Example

use env_url::*;

#[derive(EnvURL)]
#[env_url(env_prefix = "REDIS", default = "redis://127.0.0.1:6379")]
pub struct RedisDB;

let service_url = RedisDB::service_url();

Structs

A parsed URL record.

Enums

Errors that can occur during parsing.

Traits

Derive Macros