1+ //! HTTP Client
2+
13use reqwest:: blocking:: { Client , Response } ;
24use reqwest:: header:: { HeaderMap , HeaderValue , AUTHORIZATION , CONTENT_TYPE } ;
35use reqwest:: Error ;
@@ -14,6 +16,11 @@ pub struct HttpClient {
1416}
1517
1618impl HttpClient {
19+ /// # Note
20+ /// Instantiate a HttpClient.
21+ /// ```
22+ /// let http_client = HttpClient::new("<channel secret>");
23+ /// ```
1724 pub fn new ( channel_token : & str ) -> HttpClient {
1825 let mut headers = HeaderMap :: new ( ) ;
1926 headers. insert (
@@ -28,6 +35,11 @@ impl HttpClient {
2835 }
2936 }
3037
38+ /// # Note
39+ /// `GET` request
40+ /// ```
41+ /// let res: Result<Response, Error> = http_client.get("https://example.com");
42+ /// ```
3143 pub fn get (
3244 & self ,
3345 endpoint : & str ,
@@ -43,6 +55,11 @@ impl HttpClient {
4355 . send ( )
4456 }
4557
58+ /// # Note
59+ /// `POST` request
60+ /// ```
61+ /// let res: Result<Response, Error> = http_client.post("https://example.com");
62+ /// ```
4663 pub fn post ( & self , endpoint : & str , data : Value ) -> Result < Response , Error > {
4764 let uri = Url :: parse ( & format ! ( "{}{}" , self . endpoint_base, endpoint) ) . unwrap ( ) ;
4865 self . client
@@ -52,6 +69,11 @@ impl HttpClient {
5269 . send ( )
5370 }
5471
72+ /// # Note
73+ /// `PUT` request
74+ /// ```
75+ /// let res: Result<Response, Error> = http_client.put("https://example.com");
76+ /// ```
5577 pub fn put ( & self , endpoint : & str , data : Value ) -> Result < Response , Error > {
5678 let uri = Url :: parse ( & format ! ( "{}{}" , self . endpoint_base, endpoint) ) . unwrap ( ) ;
5779 self . client
@@ -61,6 +83,11 @@ impl HttpClient {
6183 . send ( )
6284 }
6385
86+ /// # Note
87+ /// `DELETE` request
88+ /// ```
89+ /// let res: Result<Response, Error> = http_client.delete("https://example.com");
90+ /// ```
6491 pub fn delete ( & self , endpoint : & str , data : Value ) -> Result < Response , Error > {
6592 let uri = Url :: parse ( & format ! ( "{}{}" , self . endpoint_base, endpoint) ) . unwrap ( ) ;
6693 self . client
0 commit comments