tiny_twilio_stripe 0.1.0

A simple Actix-Web server providing Twilio Video access tokens and optional Stripe Checkout sessions.
Documentation
//! # twilio_rust
//!
//! `twilio_rust` is an extensible Actix-Web backend for generating [Twilio Video](https://www.twilio.com/video) tokens,
//! and optionally initiating [Stripe Checkout](https://stripe.com/docs/payments/checkout) sessions.
//!
//! ## โœ… Features
//!
//! - ๐ŸŽฅ Generate secure Twilio JWT tokens for video rooms
//! - ๐Ÿ’ฐ Optional Stripe Checkout endpoint
//! - ๐Ÿ” Rate limiting with `actix-governor`
//! - ๐Ÿงช Environment file support (`.env`, `.env.production`, etc.)
//!
//! ## ๐Ÿ”ง Configuration
//!
//! Start the app like this:
//!
//! ```bash
//! cargo run -- .env.production
//! ```
//!
//! ### Required `.env` values (Twilio)
//!
//! - `TWILIO_ACCOUNT_SID`
//! - `TWILIO_API_KEY_SID`
//! - `TWILIO_API_KEY_SECRET`
//! - `TOKEN_EXPIRY=3600` (optional, default: 3600s)
//!
//! ### Stripe Settings (only if `--features stripe` is enabled)
//!
//! - `STRIPE_SECRET_KEY`
//! - `STRIPE_SUCCESS_URL=https://your.site/success?room={room}&identity={identity}`
//! - `STRIPE_CANCEL_URL=https://your.site/cancel`
//! - `STRIPE_CURRENCY=eur`
//! - `STRIPE_UNIT_AMOUNT=1000`
//! - `STRIPE_PRODUCT_NAME=Private Video Call`
//!
//! ### Rate Limiting
//!
//! - `GOVERNOR_BURST=5`
//! - `GOVERNOR_PER_SECOND=2`
//!
//! ## โœจ Feature Flags
//!
//! - `stripe`: Enables the `/api/create-checkout-session` endpoint.
//!
//! ## ๐Ÿ“š Modules
//!
//! - [`twilio`](crate::twilio) โ€” Twilio token generation
//! - [`utils`](crate::utils) โ€” Environment loader
//!
//! ### Stripe (conditionally included)
//!
//! - [`stripe`](crate::stripe) โ€” Stripe Checkout handler *(only with `--features stripe`)*
//!
//! ## ๐Ÿ“„ License
//!
//! MIT License ยฉ [Holger Trahe](https://github.com/holg)

pub mod utils;
pub mod twilio;

#[cfg(feature = "stripe")]
pub mod stripe;