message: added if stdin logic back in
diff: @@ -6,6 +6,9 @@ use std::collections::HashSet;
  use std::fs::File;
  use std::io::{BufRead, BufReader};
  use tokio::sync::mpsc::{self, Receiver, Sender};
  +use tokio::io;
  +use tokio_util::codec::{FramedRead, LinesCodec};
  +
  /// Simple helper to generate a `reqwest::Url`
  ///
  @@ -100,6 +103,22 @@ async fn app() -> FeroxResult<()> {
  spawn_reporter(rx_report);
  + if CONFIGURATION.stdin {
  + let stdin = io::stdin(); // tokio's stdin, not std
  + let mut reader = FramedRead::new(stdin, LinesCodec::new());
  +
  + while let Some(item) = reader.next().await {
  + match item {
  + Ok(line) => {
  + println!("FOUND: {}", line);
  + // call bust_dir or w/e here
  + }
  + Err(e) => {
  + println!("FOUND: ERROR: {}", e);
  + }
  + }
  + }
  + } else {
  // producer tasks (mp of mpsc); responsible for making requests
  let producers = stream::iter(words)
  .map(|word| {
  @@ -112,7 +131,7 @@ async fn app() -> FeroxResult<()> {
  .for_each_concurrent(
  // where the magic happens
  CONFIGURATION.threads, // concurrency limit (i.e. # of buffered requests)
  - |(word, mut sender)| async move {
  + |(word, mut report_chan, mut directory_chan)| async move {
  // closure to make the request and send it over the channel to be
  // reported (or not) to the user
  match format_url(&word, &CONFIGURATION.target_url) {
  @@ -121,7 +140,7 @@ async fn app() -> FeroxResult<()> {
  match make_request(&CONFIGURATION.client, url).await {
  // response came back without error
  Ok(response) => {
  - sender.send(response).await.unwrap();
  + report_chan.send(response).await.unwrap();
  // is directory? send over the dir channel
  }
  Err(_) => {} // already logged in make_request; no add'l action req'd
  @@ -133,6 +152,7 @@ async fn app() -> FeroxResult<()> {
  );
  producers.await;
  + }
  Ok(())
  }
  