/http-request-catcher

Catch HTTP requests

Primary LanguageGoMIT LicenseMIT

http-request-catcher

Go Reference CI CD Go Report Card codecov Docker Pulls Docker Image Size (latest by date)

Purpose

  • Example of caught http request data.
{
  "data": [
    {
      "id": "a",
      "bucket_id": "aaa",
      "method": "GET",
      "path": "/aaa/a",
      "ip": "172.20.0.1",
      "time": "2022-05-18T08:34:21Z",
      "headers": {
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "en-US,en;q=0.5",
        "Connection": "keep-alive",
        "Dnt": "1",
        "Sec-Fetch-Dest": "document",
        "Sec-Fetch-Mode": "navigate",
        "Sec-Fetch-Site": "none",
        "Sec-Fetch-User": "?1",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0"
      },
      "data": ""
    }
  ],
  "message": "Ok"
}

API

GET     /:bucket_id                 - Get all requests for bucket_id
DELETE  /:bucket_id                 - Delete all requests for bucket_id
any     /:bucket_id/:request_id     - Catch request into bucket_id

Options

CATCHER_PORT            = 8080
REDIS_HOST              = "localhost"
REDIS_PORT              = 6379
REDIS_PASSWORD          = ""
REDIS_DB                = 0
ENTRY_EXPIRATION_TIME   = 120

Deployement

Using docker-compose

make compose

Installation

  • Only supports redis for the moment.
docker run --name redis -p 6379:6379 -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest
make run