fiscalidade 0.8.0

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

Biblioteca Rust para validação, assinatura e transmissão de XMLs para
webservices SEFAZ.

## Exemplo

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

```rust
use fiscalidade::{Ambiente, Dfe, Modelo, Pkcs12Certificate, Uf, WebServices};

#[tokio::main]
async fn main() {
    let webservices = WebServices::from_embedded().unwrap();
    let pkcs12 = Pkcs12Certificate::from_file("resources/certificado.pfx", "minha-senha-secreta")
        .await
        .unwrap();
    let dfe = Dfe::new().set_webservices(webservices).set_pkcs12(pkcs12);
    let xml = dfe
        .status_servico(Modelo::Nfe, Uf::Mt, Ambiente::Homologacao)
        .await
        .unwrap();
    println!("XML retornado: {}", xml);
}
```

## Uso

Adicione isto em seu `Cargo.toml`:

```toml
[dependencies]
tokio = { version = "1", features = ["full"] }
fiscalidade = "0.7"
```

## _Wishlist_

- [x] Status do serviço
- [x] Consulta de cadastro
- [x] Consulta de XML
- [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
- [x] Verificar se recursos (envelope, URLs etc.) estão atualizados
- [x] Chamadas async
- [ ] Validação e assinatura de XML
- [ ] Adicionar exemplo de consulta de cadastro
- [ ] Tentativas de comunicação com o webservice
- [ ] Mais serviços como envio de lote, consulta de recibo, inutilização,
      distribuição de DFe, etc.
- [ ] Compressão no envio de lote
- [ ] Testes
- [ ] Documentação
- [ ] Mais exemplos
- [ ] Proxy
- [ ] GitHub Actions
- [ ] DANFE

## 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
- [MIT License]LICENSE-MIT