Sfoglia il codice sorgente

Don't include port if port is 80

master
Dylan Baker 5 anni fa
parent
commit
01cc55fa86
2 ha cambiato i file con 13 aggiunte e 9 eliminazioni
  1. 4
    4
      src/cli.rs
  2. 9
    5
      src/client.rs

+ 4
- 4
src/cli.rs Vedi File

2
 use std::fs;
2
 use std::fs;
3
 use std::io;
3
 use std::io;
4
 
4
 
5
-use crate::client::{create_snippet, OutgoingSnippet, ServerConfig};
5
+use crate::client::{build_url_from_config, create_snippet, OutgoingSnippet, ServerConfig};
6
 
6
 
7
 fn get_snippet_from_matches(matches: &ArgMatches) -> io::Result<OutgoingSnippet> {
7
 fn get_snippet_from_matches(matches: &ArgMatches) -> io::Result<OutgoingSnippet> {
8
     let title = matches.value_of("name").unwrap();
8
     let title = matches.value_of("name").unwrap();
38
 
38
 
39
 pub fn new_snippet(matches: &ArgMatches) -> io::Result<()> {
39
 pub fn new_snippet(matches: &ArgMatches) -> io::Result<()> {
40
     let snippet = get_snippet_from_matches(matches)?;
40
     let snippet = get_snippet_from_matches(matches)?;
41
-    println!("{:?}", snippet);
42
     let config = get_server_config_from_matches(matches);
41
     let config = get_server_config_from_matches(matches);
42
+    let url = build_url_from_config(&config);
43
 
43
 
44
     match create_snippet(snippet, &config) {
44
     match create_snippet(snippet, &config) {
45
         Ok(resp) => println!(
45
         Ok(resp) => println!(
46
-            "Success! Your new snippet is available at {}://{}:{}/snippets/{}",
47
-            config.protocol, config.hostname, config.port, resp.id
46
+            "Success! Your new snippet is available at {}/snippets/{}",
47
+            url, resp.id
48
         ),
48
         ),
49
         Err(err) => println!("{}", err),
49
         Err(err) => println!("{}", err),
50
     }
50
     }

+ 9
- 5
src/client.rs Vedi File

24
     pub port: i32,
24
     pub port: i32,
25
 }
25
 }
26
 
26
 
27
+pub fn build_url_from_config(config: &ServerConfig) -> String {
28
+    match config.port {
29
+        80 => format!("{}://{}", config.protocol, config.hostname),
30
+        _ => format!("{}://{}:{}", config.protocol, config.hostname, config.port),
31
+    }
32
+}
33
+
27
 pub fn create_snippet(
34
 pub fn create_snippet(
28
     snippet: OutgoingSnippet,
35
     snippet: OutgoingSnippet,
29
     config: &ServerConfig,
36
     config: &ServerConfig,
30
 ) -> Result<IncomingSnippet, Box<std::error::Error>> {
37
 ) -> Result<IncomingSnippet, Box<std::error::Error>> {
31
     let client = reqwest::Client::new();
38
     let client = reqwest::Client::new();
39
+    let url = build_url_from_config(config);
32
     let resp: IncomingSnippet = client
40
     let resp: IncomingSnippet = client
33
-        .post(&format!(
34
-            "{}://{}:{}/api/snippets",
35
-            config.protocol, config.hostname, config.port,
36
-        ))
41
+        .post(&format!("{}/api/snippets", url))
37
         .json(&snippet)
42
         .json(&snippet)
38
         .send()?
43
         .send()?
39
         .json()?;
44
         .json()?;
40
-
41
     Ok(resp)
45
     Ok(resp)
42
 }
46
 }

Loading…
Annulla
Salva