Code Monkey home page Code Monkey logo

apiwithlog's Introduction

@woovi/apiWithLog

Powerful fetch wrapper with the given functionallies:

  • log request and response when using env DEBUG=true
  • save request when using env WRITE_MOCK=true
  • reply request when using env USE_MOCK=true
  • send error to slack and sentry based on your setup

Usage

This will make the request but it won't show any logs

yarn es scripts/test.ts 

Show request and response logs

DEBUG=true yarn es scripts/test.ts 

Output example

GET https://cat-fact.herokuapp.com/facts
{
  time: 'NaNms',
  init: 'https://cat-fact.herokuapp.com/facts',
  options: { headers: { 'user-agent': 'node-fetch' } },
  json: [
    {
      status: { verified: true, feedback: '', sentCount: 1 },
      _id: '5887e1d85c873e0011036889',
      user: '5a9ac18c7478810ea6c06381',
      text: 'Cats make about 100 different sounds. Dogs make only about 10.',
      __v: 0,
      source: 'user',
      updatedAt: '2020-09-03T16:39:39.578Z',
      type: 'cat',
      createdAt: '2018-01-15T21:20:00.003Z',
      deleted: false,
      used: true
    },    
  ],
  ok: true,
  status: 200,
  curl: `curl 'https://cat-fact.herokuapp.com/facts' -H "user-agent: node-fetch"`
}

Save request to mock

WRITE_MOCK=true DEBUG=true yarn es scripts/test.ts 

Go check mock-requests.json

Reply requests from mock

USE_MOCK=true DEBUG=true yarn es scripts/test.ts

apiwithlog's People

Contributors

sibelius avatar nogw avatar joaovictor6 avatar edgarberlinck avatar fersilva16 avatar nicolaslopes7 avatar

Stargazers

Thiago avatar Scarlet avatar Andrejs Agejevs avatar João Marins avatar Cristiano avatar Duca avatar Miquéias Telles avatar Guilherme avatar  avatar  avatar Murillo Nahás avatar  avatar Chidozie C. Okafor avatar Daniel Santos avatar Mateus V. Farias avatar Eduardo Conti avatar Vinicius Blazius Goulart avatar Hewerton Soares avatar Beatriz Oliveira avatar Julio Merisio avatar Afonso Araújo Neto avatar Christopher Ribeiro avatar  avatar Danilo Assis avatar

Watchers

 avatar João Marins avatar Danilo Assis avatar  avatar Eduardo Maciel avatar

apiwithlog's Issues

Error when trying to save mock request file that doesn't exist

When executing the command "WRITE_MOCK=true yarn es scripts/test.ts", if the mock-requests.json file does not exist, an error message is displayed. However, the command also creates the file.

Error message:

> WRITE_MOCK=true yarn es scripts/test.ts

$ node -r esbuild-register -r node-fetch scripts/test.ts
{
  err: [Error: ENOENT: no such file or directory, open '/home/user/github/apiWithLog/mock-requests.json'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: '/home/user/github/apiWithLog/mock-requests.json'
  }
}
saved to /home/user/github/apiWithLog/mock-requests.json

timeSpan function not works

When I run the tests, the time prop is NaNms.
The implementation of convertHrtime does not work. I made a pr solving this issue :).

image

Test output

image

convertHrtime receiving invalid args

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.