fiscalidade 0.4.2

Biblioteca Rust para geração, validação, assinatura de XMLs de Documentos Fiscais e transmissão com webservices da SEFAZ.
Documentation
# `fiscalidade`

[WIP] Biblioteca Rust para geração, validação, assinatura de XMLs de Documentos Fiscais e transmissão com webservices da SEFAZ.

## Exemplo

O exemplo abaixo mostra como obter o _status_ do serviço de homologação para o Mato Grosso:

```rust
extern crate anyhow;
extern crate fiscalidade;

use fiscalidade::{Ambiente, Dfe, Pkcs12Certificate, Tipo, Uf, WebServices};

fn main() -> anyhow::Result<()> {
    let webservices = WebServices::from_file("resources/webservices.ini")?;
    let pkcs12 = Pkcs12Certificate::from_file("resources/certificado.pfx", "minha-senha-secreta")?;
    let dfe = Dfe::new(Tipo::Nfe)
        .set_webservices(webservices)
        .set_pkcs12(pkcs12);
    let xml = dfe.status_servico(Uf::Mt, Ambiente::Homologacao)?;
    println!("XML retornado: {}", String::from_utf8_lossy(&xml));
    Ok(())
}
```

## Uso

Adicione isto em seu `Cargo.toml`:

```ini
[dependencies]
fiscalidade = "0.3.0"
```

e isto em seu _crate root_:

```rust
extern crate fiscalidade;
```

## _Wishlist_

- [x] status do serviço
- [x] consulta de cadastro
- [x] consulta de XML
- [x] configuração de webservices via arquivo INI
- [x] leitura de certificado P12
- [x] conexão segura usando biblioteca TLS _padrão_ do sistema
- [x] configuração de _timeout_ da conexão e da comunicação com o webservice
- [x] embutir arquivo de webservices na biblioteca
- [ ] mais serviços como envio de lote, consulta de recibo, inutilização, distribuição de DFe, etc.
- [ ] tentativas de comunicação com o webservice
- [ ] validação e assinatura de XML
- [ ] compressão no envio de lote
- [ ] testes
- [ ] documentação
- [ ] mais exemplos
- [ ] chamadas async
- [ ] DANFE
- [ ] geração de XML

## Contribuições

Pull Requests e Issues são sempre bem-vindos! =)

## Licença

`fiscalidade` é distribuída sob qualquer uma das seguintes licenças:

- Apache License 2.0 ([LICENSE-APACHE]LICENSE-APACHE or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT License ([LICENSE-MIT]LICENSE-MIT or <http://opensource.org/licenses/MIT>)