code0_flow/flow_service/auth.rs
1use std::str::FromStr;
2use tonic::metadata::{MetadataMap, MetadataValue};
3
4/// get_authorization_metadata
5///
6/// Creates a `MetadataMap` that contains the defined token as a value of the `authorization` key
7/// Used for setting the runtime_token to authorize Sagittarius request
8///
9/// # Examples
10///
11/// ```
12/// use code0_flow::flow_service::auth::get_authorization_metadata;
13/// let token = String::from("token");
14/// let metadata = get_authorization_metadata(&token);
15/// assert!(metadata.get("authorization").is_some());
16/// assert_eq!(metadata.get("authorization").unwrap(), "token");
17/// ```
18pub fn get_authorization_metadata(token: &str) -> MetadataMap {
19 let metadata_value = MetadataValue::from_str(token).unwrap_or_else(|error| {
20 panic!(
21 "An error occurred trying to convert runtime_token into metadata: {}",
22 error
23 );
24 });
25
26 let mut map = MetadataMap::new();
27 map.insert("authorization", metadata_value);
28 map
29}