api-playground/README.md
2023-09-08 15:56:18 -04:00

1.4 KiB

API Playground

This is a mock API playground used for developing robust API wrappers and other HTTP-related code.

The API is created and served using Mockoon. Latency, timeouts, and outages are introduced at random with Toxiproxy.

Requirements

  • Docker Compose

Features

  • JSON responses
  • Randomized HTTP responses
  • Randomized timeouts, latency, and outages

Usage

docker compose up

Requests with random faults will be served at http://localhost:18080. The API is accessible without Toxiproxy at http://localhost:3000, but will still throw some bad response codes at random.

Routes

/users

The /users endpoint will return a JSON list of 50 users:

[ { "id": "string", "username": "string" } ]

Randomly returns HTTP 500 and 502 status codes.

/admin/users

The /admin/users endpoint will return a JSON list of 10 users:

[ { "id": "string", "username": "string", "isAdmin": "boolean" } ]

Route will always return '401 - Unauthorized" unless an Authorization header is sent with the following token:

  • Bearer e3797209-119e-4671-8792-3c9e29260b28

Shoutouts

There's not much info on running a Toxiproxy in a Docker Compose stack, so the idea for the "toxifier" container came from John Muth.