kvv-efa-api 0.1.1

Rust bindings for the KVV (Karlsruher Verkehrs Verbund) "EFA"-API
Documentation
# kvv-efa-api

Rust bindings for the KVV (Karlsruher Verkehrsverbund) "EFA" API

> **Warning:**
> This API doesn't seem like a permanent solution, it could change at any time completely, making these bindings useless!

## Examples

This crate includes a set of examples in the `examples/` directory, run them with:

```sh
$ cargo run --example <example> --features reqwest
```

## Supported Requests:

- [x] `XSLT_DM_REQUEST`: `request::departure_monitor`,
- [x] `XSLT_STOPFINDER_REQUEST`: `request::stop_finder`,
- [ ] `XSLT_TRIP_REQUEST`
- [ ] `XSLT_SELTT_REQUEST`
- [ ] `XSLT_CM_SHOWADDINFO_REQUEST`
- [ ] ...

## Example Code:

```rs
use kvv_efa_api::{self, request::{DepartureMonitorRequest, Request, StopFinderRequest}};

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {        
    {
        // Search the station table for "Hauptbahnhof"
        let request = StopFinderRequest::builder()
            .name("Hauptbahnhof")
            .build();

        println!("Requesting {}...", request.url());

        let response = request.get().await?;

        println!("response: {:#?}", response);
    }

    {
        // Fetch the departures of station 7000090 ("Karlsruhe Hauptbahnhof")
        let request = DepartureMonitorRequest::builder()
            .name(7000090)
            .build();

        println!("Requesting {}...", request.url());

        let response = request.get().await?;

        println!("response: {:#?}", response);
    }

    Ok(())
}
```

> from [`examples/basic.rs`]./examples/basic.rs