lealhugui / node-dfe

Geração/integração de NF-e/NFC-e para node.js
MIT License
257 stars 99 forks source link

Mudança de lib de comunicaçao #49

Open lealhugui opened 2 years ago

lealhugui commented 2 years ago

A lib request foi descontinuada, e portanto deve ser removida.

O plano é alterar pela axios.

uilhianet commented 2 years ago

Eu utilizei o cliente http nativo do node para não ficar dependendo de terceiros. Exemplo:


               const options = <https.RequestOptions>{
                    method: 'POST',
                    headers: {
                        "Content-Type": "text/xml;charset=utf-8",
                        "SOAPAction": soap.action
                    },
                    family: 4,
                    rejectUnauthorized: false,
                    requestCert: false,
                    cert: certificate.getCert().toString(),
                    key: certificate.getKey().export({ format: "pem", type: "pkcs1" })
                }

                const req = https.request(soap.url, options, (res: any) => {
                    let body = '';
                    res.setEncoding('utf8');
                    res.on('end', () => {
                        resolve(<PostResponse>{
                            status: res.statusCode,
                            body: body
                        });
                    });
                    res.on('data', (chunk: any) => {
                        body += chunk;
                    });
                });
                req.on('error', (e: Error) => {
                    reject(e);
                });
                req.write(xml);
                req.end();
lealhugui commented 2 years ago

Gostei da ideia.

Se voce quiser @uilhianet , pode enviar uma PR com a proposta?

LeandroSQ commented 2 years ago

Existe também a possiblidade de iniciar o suporte para o fetch. Já é suportado no Node.js e logo em breve bibliotecas como Request e até Axios serão descontinuadas em prol do fetch.

https://github.com/nodejs/node/pull/41749

lealhugui commented 2 years ago

Existe também a possiblidade de iniciar o suporte para o fetch. Já é suportado no Node.js e logo em breve bibliotecas como Request e até Axios serão descontinuadas em prol do fetch.

nodejs/node#41749

Isso é levemente perigoso, uma vez que temos de manter pelo menos nodejs 8+. É uma opçao viavel se node 8 tiver essa API, ou existir polifyll.