Skip to main content

livekit_api/
lib.rs

1// Copyright 2025 LiveKit, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#![doc = include_str!("../README.md")]
16
17#[cfg(feature = "access-token")]
18pub mod access_token;
19
20#[cfg(feature = "access-token")]
21mod jwt_provider;
22
23#[cfg(any(feature = "services-tokio", feature = "services-async"))]
24pub mod services;
25
26#[cfg(feature = "signal-client")]
27pub mod signal_client;
28
29#[cfg(any(feature = "services-tokio", feature = "services-async"))]
30mod http_client;
31
32// Region-discovery helpers shared by the signaling region provider
33// (signal_client::region_url_provider) and the API failover region cache
34// (services::failover).
35#[cfg(any(feature = "signal-client", feature = "services-tokio", feature = "services-async"))]
36mod region;
37
38#[cfg(feature = "webhooks")]
39pub mod webhooks;
40
41#[allow(dead_code)]
42pub(crate) fn get_env_keys() -> Result<(String, String), std::env::VarError> {
43    let api_key = std::env::var("LIVEKIT_API_KEY")?;
44    let api_secret = std::env::var("LIVEKIT_API_SECRET")?;
45    Ok((api_key, api_secret))
46}