Hi everyone
Recently I encountered with a need to have a mock http server for local development, where I can configure paths and responses. Definitely I found few interesting solutions, in some of them I have to write code, some of them were a bit overcomplicated and difficult to use. Definitely I did not find something what I can easily configure, like set a path with a specific HTTP method and set a response with a status code and response body. I need just easy configuration.
So... I had some time in the evening :)
I've prepared a repository go-mock-server
I used Go
programming language for the implementation. To run a mock server it is just required to create a YAML file and specify list of endpoints with desired HTTP methods on an endpoint and specify a response, like a predefined string or a file in a storage. There are two ways to launch the go-mock-server
. The simplest is to use Docker - the repo contains a Docker file, so it is not needed to install Go on your machine, just mount a folder with your configuration file and that is it. Another way is to use Go to run the server.
An example of configuration
port: 8081
endpoints:
- path: /{$}
response-body: file:model/responses/index.html
headers:
content-type:
- text/html; charset=utf-8
- path: /test
# no method or empty array equals to all methods
method: [get, post, put, delete]
response-body: >
{"test": 1}
headers:
content-type:
- application/json
- path: /download
method: [get]
response-body: file:model/responses/download/file.txt
headers:
content-type:
- application/octet-stream
- path: /redirect
method: [get]
status-code: 301
headers:
location:
- https://google.com
Top comments (0)