소스 검색

Validate URL before adding to bookmarks

Fixes issue #20 (https://todo.sr.ht/~julienxx/Castor/20)

Throws an error dialog if URL is invalid before adding to bookmarks
tags/0.8.12
alex wennerberg 1 년 전
부모
커밋
74ca692f69
2개의 변경된 파일12개의 추가작업 그리고 1개의 파일을 삭제
  1. 8
    0
      src/bookmarks.rs
  2. 4
    1
      src/main.rs

+ 8
- 0
src/bookmarks.rs 파일 보기

@@ -4,6 +4,14 @@ use std::fs;
4 4
 use std::fs::File;
5 5
 use std::fs::OpenOptions;
6 6
 use std::io::{Read, Write};
7
+use url::Url;
8
+
9
+pub fn is_valid(url: &str) -> bool {
10
+    match Url::parse(&url) {
11
+        Ok(_) => true,
12
+        _ => false,
13
+    }
14
+}
7 15
 
8 16
 pub fn add(url: &str) {
9 17
     let mut file = bookmarks_file();

+ 4
- 1
src/main.rs 파일 보기

@@ -161,10 +161,13 @@ fn add_bookmark(gui: &Arc<Gui>) {
161 161
     let current_url = url_bar.get_text();
162 162
 
163 163
     if let Some(url) = current_url {
164
-        if url != "" {
164
+        if bookmarks::is_valid(&url) {
165 165
             bookmarks::add(&url);
166 166
             dialog::info(&gui, "Bookmark added.");
167 167
         }
168
+        else {
169
+            dialog::error(&gui, "Invalid bookmark URL.");
170
+        }
168 171
     }
169 172
 }
170 173
 

Loading…
취소
저장