preroll 0.5.0

Easy boilerplate utilities for Rust http services which use async-std, Tide, Surf, and friends.
Documentation
[workspace]
members = [
    "preroll-example",
]

[package]
name = "preroll"
version = "0.5.0"
authors = [
    "Jeremiah Senkpiel <fishrock123@rocketmail.com>",
]
edition = "2018"
license = "BlueOak-1.0.0"
description = "Easy boilerplate utilities for Rust http services which use async-std, Tide, Surf, and friends."
readme = "README.md"
repository = "https://github.com/eaze/preroll"
keywords = ["tide", "surf", "sqlx", "honeycomb"]
categories = [
  "web-programming::http-server"
]

[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "docsrs"]

[features]
docs = ["all"]
test = []

custom_middleware = []

## Add-ons
all = ["honeycomb", "postgres"] # All add-ons

honeycomb = ["_beeline", "_tracing", "libhoney-rust"]
_beeline = ["base64", "thiserror"]
_tracing = ["tracing", "tracing-futures", "eaze-tracing-honeycomb", "tracing-subscriber"]

postgres = ["sqlx", "tide-sqlx"]

## Internal features
panic-on-error = []

[dependencies]
anyhow = "1.0"
cfg-if = "1.0"
color-eyre = "0.5"
dotenv = "0.15"
env_logger = "0.8"
gethostname = "0.2"
kv-log-macro = "1.0"
lazy_static = "1.4"
log = "0.4"
once_cell = "1.5"
serde_json = "1.0"

[dependencies.async-std]
version = "1.8"
features = ["attributes"]

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.surf]
version = "2.1"
default-features = false
features = ["curl-client", "encoding"]

[dependencies.tide]
version = "0.16"
default-features = false
features = ["h1-server"]

[dependencies.uuid]
version = "0.8"
features = ["serde", "v4"]

## feature = postgres

[dependencies.sqlx]
version = "0.5"
optional = true
features = ["runtime-async-std-native-tls", "postgres", "json", "chrono", "uuid"]

[dependencies.tide-sqlx]
version = "0.5"
optional = true
default-features = false
features = ["native-tls", "postgres"]

## feature = tracing

# stuff copied from the unpublished beeline-rust
[dependencies.base64]
version = "0.13"
optional = true

[dependencies.thiserror]
version = "1.0"
optional = true
# -- beeline-rust

[dependencies.libhoney-rust]
version = "0.1.4"
optional = true
# default-features = false
# features = ["runtime-async-std"]

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-futures]
version = "0.2"
optional = true

[dependencies.eaze-tracing-honeycomb]
version = "0.2.1-eaze.2"
optional = true

[dependencies.tracing-subscriber]
version = "0.2"
optional = true
default-features = false
features = ["env-filter", "registry"]

# Dev-deps

[dev-dependencies.cargo-husky]
version = "1"
default-features = false
features = ["user-hooks"]

# Dependency overrides

# [patch.crates-io.libhoney-rust]
# git = "https://github.com/eaze/libhoney-rust.git"
# branch = "runtime-async-std"
# optional = true
# default-features = false
# features = ["runtime-async-std"]