jinxapi_github/v1_1_4/request/
users_get_authenticated.rs

1//! Get the authenticated user
2//! 
3//! If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.
4//! 
5//! If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.
6//! 
7//! [API method documentation](https://docs.github.com/rest/reference/users#get-the-authenticated-user)
8
9
10#[cfg(feature = "hyper")]
11pub fn http_builder(
12    base_url: &str,
13    h_user_agent: &str,
14    h_accept: ::std::option::Option<&str>,
15) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
16    let default_url = concat!("https://api.github.com", "/user");
17    let url = if base_url.is_empty() {
18        ::http::uri::Uri::from_static(default_url)
19    } else {
20        let trimmed = base_url.trim_end_matches('/');
21        let mut url = String::with_capacity(trimmed.len() + 5);
22        url.push_str(trimmed);
23        url.push_str(&default_url[22..]);
24        url.try_into().map_err(::http::Error::from)?
25    };
26    let mut builder = ::http::request::Request::get(url);
27    builder = builder.header(
28        "User-Agent",
29        &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
30    );
31    if let Some(value) = &h_accept {
32        builder = builder.header(
33            "Accept",
34            &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
35        );
36    }
37    Ok(builder)
38}
39
40#[cfg(feature = "hyper")]
41#[inline]
42pub fn hyper_request(
43    builder: ::http::request::Builder,
44) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
45    Ok(builder.body(::hyper::Body::empty())?)
46}
47
48#[cfg(feature = "reqwest")]
49pub fn reqwest_builder(
50    base_url: &str,
51    h_user_agent: &str,
52    h_accept: ::std::option::Option<&str>,
53) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
54    let default_url = concat!("https://api.github.com", "/user");
55    let reqwest_url = if base_url.is_empty() {
56        ::reqwest::Url::parse(default_url)?
57    } else {
58        let trimmed = base_url.trim_end_matches('/');
59        let mut url = String::with_capacity(trimmed.len() + 5);
60        url.push_str(trimmed);
61        url.push_str(&default_url[22..]);
62        ::reqwest::Url::parse(&url)?
63    };
64    let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
65    let headers = request.headers_mut();
66    headers.append(
67        "User-Agent",
68        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
69    );
70    if let Some(value) = &h_accept {
71        headers.append(
72            "Accept",
73            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
74        );
75    }
76    Ok(request)
77}
78
79#[cfg(feature = "reqwest")]
80#[inline(always)]
81pub fn reqwest_request(
82    builder: ::reqwest::Request,
83) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
84{
85    Ok(builder)
86}
87
88#[cfg(feature = "reqwest-blocking")]
89pub fn reqwest_blocking_builder(
90    base_url: &str,
91    h_user_agent: &str,
92    h_accept: ::std::option::Option<&str>,
93) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
94    let default_url = concat!("https://api.github.com", "/user");
95    let reqwest_url = if base_url.is_empty() {
96        ::reqwest::Url::parse(default_url)?
97    } else {
98        let trimmed = base_url.trim_end_matches('/');
99        let mut url = String::with_capacity(trimmed.len() + 5);
100        url.push_str(trimmed);
101        url.push_str(&default_url[22..]);
102        ::reqwest::Url::parse(&url)?
103    };
104    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
105    let headers = request.headers_mut();
106    headers.append(
107        "User-Agent",
108        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
109    );
110    if let Some(value) = &h_accept {
111        headers.append(
112            "Accept",
113            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
114        );
115    }
116    Ok(request)
117}
118
119#[cfg(feature = "reqwest-blocking")]
120#[inline(always)]
121pub fn reqwest_blocking_request(
122    builder: ::reqwest::blocking::Request,
123) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
124{
125    Ok(builder)
126}