spider_lib/pipelines/
console_writer.rs1use crate::{item::ScrapedItem, pipeline::Pipeline, PipelineError};
2use async_trait::async_trait;
3use tracing::info;
4
5pub struct ConsoleWriterPipeline;
7
8impl ConsoleWriterPipeline {
9 pub fn new() -> Self {
11 Self
12 }
13}
14
15impl Default for ConsoleWriterPipeline {
16 fn default() -> Self {
17 Self::new()
18 }
19}
20
21#[async_trait]
22impl<I: ScrapedItem> Pipeline<I> for ConsoleWriterPipeline {
23 fn name(&self) -> &str {
24 "ConsoleWriterPipeline"
25 }
26
27 async fn process_item(&self, item: I) -> Result<Option<I>, PipelineError> {
28 info!("Pipeline processing item: {:?}", item);
29 Ok(Some(item))
30 }
31}