A Golang service that can be customized to mock REST APIs
Run the API mock using Docker:
docker run --rm -p 8080:8080 juanariza131/api-mock
The API mock will be available at http://localhost:8080/v1/mock
.
The API mock can be configured with the following environment variables:
Variable | Description | Default |
---|---|---|
PORT |
The port to listen on | 8080 |
LOG_LEVEL |
The log level | info |
API_KEY |
API key to authenticate requests via X-API-KEY header |
`` |
API_TOKEN |
Bearer token to authenticate requests | `` |
FAILURE_RESP_BODY |
The response body to return when mocking a failure | {"error":{"message":"failed request","code":1005,"id":"[random-value]"}} |
FAILURE_RESP_CODE |
The HTTP status code to return when mocking a failure | 400 |
SUCCESS_RESP_BODY |
The response body to return when mocking a success | {"success": "true"} |
SUCCESS_RESP_CODE |
The HTTP status code to return when mocking a success | 200 |
SUCCESS_RATIO |
The ratio of success to failure responses | 1.0 |
METHODS |
The HTTP methods to mock | GET,POST |
RESP_DELAY |
The response delay (in milliseconds) | 0 |
SUB_ROUTES |
The sub routes to mock | `` |
RATE_LIMIT |
The API rate limit (requests per second) | 1000 |
RATE_EXCEEDED_RESP_BODY |
The response body to return when mocking a rate exceeded | {"error":{"message":"rate limit exceeded","code":1004,"id":"[random-value]"}} |
You can build the API mock binary with the following command:
make build
The binary will be available in the out
directory.