drova_sdk

Crates.iodrova_sdk
lib.rsdrova_sdk
version3.0.1
created_at2025-05-07 17:04:21.431174+00
updated_at2025-05-12 19:09:50.749047+00
descriptionSdk for absolute converter of formats for dalet
homepagehttps://github.com/TempoWorks/drova/tree/main
repositoryhttps://github.com/tempoworks/drova
max_upload_size
id1664120
size22,328
Artemy Egorov (artegoser)

documentation

README

drova logo

crates.io

DROVA SDK

Absolute SDK for DROVA.

Usage

Install

cargo add drova_sdk

Example

use dalet::types::{Page};
use drova_sdk::requester::{Error, InputHandler, RequesterBuilder};
use async_trait::async_trait;
use drova_sdk::requester::{Error, ProtocolHandler, Response};

pub struct HttpProtocol;

#[async_trait]
impl ProtocolHandler for HttpProtocol {
    async fn fetch(&self, url: &url::Url) -> Result<Response, Error> {
        todo!()
    }
}

pub struct TextInput;

impl InputHandler for TextInput {
    fn process_text(&self, data: String, _: Option<&url::Url>) -> Result<Page, Error> {
        todo!()
    }

    fn process_bytes(&self, _: Vec<u8>, _: Option<&url::Url>) -> Result<Page, Error> {
        todo!()
    }
}

fn main() {
  let requester = RequesterBuilder::default()
        .protocol("http", &HttpProtocol)
        .protocol("https", &HttpProtocol)
        .input("text/plain", &TextInput)
        .input("text/*", &TextInput)
        .build();

  println!("{:#?}", requester.process("http://example.com"))
}
Commit count: 30

cargo fmt