Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Escape-Technologies/http-request-catcher
Catch HTTP requests
https://github.com/Escape-Technologies/http-request-catcher
catcher go golang http redis
Last synced: 6 days ago
JSON representation
Catch HTTP requests
- Host: GitHub
- URL: https://github.com/Escape-Technologies/http-request-catcher
- Owner: Escape-Technologies
- License: mit
- Created: 2022-05-16T21:37:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-06T10:35:53.000Z (3 months ago)
- Last Synced: 2024-08-06T12:05:40.533Z (3 months ago)
- Topics: catcher, go, golang, http, redis
- Language: Go
- Homepage:
- Size: 71.3 KB
- Stars: 3
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# http-request-catcher
[![Go Reference](https://pkg.go.dev/badge/github.com/Escape-Technologies/http-request-catcher.svg)](https://pkg.go.dev/github.com/Escape-Technologies/http-request-catcher)
[![CI](https://github.com/Escape-Technologies/http-request-catcher/actions/workflows/ci.yaml/badge.svg)](https://github.com/Escape-Technologies/http-request-catcher/actions/workflows/ci.yaml)
[![CD](https://github.com/Escape-Technologies/http-request-catcher/actions/workflows/cd.yaml/badge.svg)](https://github.com/Escape-Technologies/http-request-catcher/actions/workflows/cd.yaml)
[![Go Report Card](https://goreportcard.com/badge/github.com/Escape-Technologies/http-request-catcher)](https://goreportcard.com/report/github.com/Escape-Technologies/http-request-catcher)
[![codecov](https://codecov.io/gh/Escape-Technologies/http-request-catcher/branch/main/graph/badge.svg)](https://codecov.io/gh/Escape-Technologies/http-request-catcher)
![Docker Pulls](https://img.shields.io/docker/pulls/escapetech/http-request-catcher)
![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/escapetech/http-request-catcher)## Purpose
- Example of caught http request data.
```text
{
"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
```text
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
```bash
CATCHER_PORT = 8080
REDIS_HOST = "localhost"
REDIS_PORT = 6379
REDIS_PASSWORD = ""
REDIS_DB = 0
ENTRY_EXPIRATION_TIME = 120
```## Deployement
### Using docker-compose
```bash
make compose
```## Installation
- Only supports redis for the moment.
```bash
docker run --name redis -p 6379:6379 -e ALLOW_EMPTY_PASSWORD=yes bitnami/redis:latest
make run
```