pull/6/head
dvkt 5 years ago
parent b987442525
commit c83df4eb62

@ -26,6 +26,12 @@ pub enum Type {
}
// Fetches a URL and returns a raw Gopher response.
pub fn fetch_url(url: &str) -> io::Result<String> {
let (_, host, port, sel) = parse_url(url);
fetch(host, port, sel)
}
// Fetches a URL by its component parts and returns a raw Gopher response.
pub fn fetch(host: &str, port: &str, selector: &str) -> io::Result<String> {
let mut body = String::new();
let stream = TcpStream::connect(format!("{}:{}", host, port))

@ -17,11 +17,21 @@ fn main() {
let url = args.get(1).unwrap();
if url == "--version" || url == "-v" || url == "-version" {
if url == "-raw" || url == "-r" || url == "--raw" {
if args.len() > 2 {
let url = args.get(2).unwrap();
print_raw(url);
} else {
eprintln!("-raw needs gopher-url");
}
return;
}
if url == "-version" || url == "-v" || url == "--version" {
print_version();
return;
}
if url == "--help" || url == "-h" || url == "-help" {
if url == "-help" || url == "-h" || url == "--help" {
print_usage();
return;
}
@ -44,3 +54,12 @@ fn print_usage() {
phetch -version # Show phetch version."
);
}
fn print_raw(url: &str) {
gopher::fetch_url(url)
.and_then(|x| {
println!("{}", x);
Ok(())
})
.map_err(|e| eprintln!("{}", e));
}

Loading…
Cancel
Save