dxm 0.1.0

A manager for FXServer artifacts & resources.
Documentation
use reqwest::{
    blocking::{Client, ClientBuilder},
    header::{self, HeaderMap, HeaderValue},
};

const USER_AGENT: &str = concat!(clap::crate_name!(), "/", clap::crate_version!());

const GITHUB_ACCEPT: &str = "application/vnd.github+json";
const GITHUB_API_VERSION_HEADER: &str = "X-GitHub-Api-Version";
const GITHUB_API_VERSION: &str = "2022-11-28";

pub fn client() -> ClientBuilder {
    Client::builder().default_headers(headers())
}

pub fn github_client() -> ClientBuilder {
    let mut headers = headers();
    headers.insert(header::ACCEPT, HeaderValue::from_static(GITHUB_ACCEPT));
    headers.insert(
        GITHUB_API_VERSION_HEADER,
        HeaderValue::from_static(GITHUB_API_VERSION),
    );

    Client::builder().default_headers(headers)
}

fn headers() -> HeaderMap {
    let mut headers = HeaderMap::new();
    headers.insert(header::USER_AGENT, HeaderValue::from_static(USER_AGENT));

    headers
}