Project

minimo

0.0
No commit activity in last 3 years
No release in over 3 years
minimo is the server to mock a minimum of http response using the rack.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.12
>= 0
~> 10.0
>= 0

Runtime

>= 0
 Project Readme

minimo

Gem Version Build Status Code Climate

Mini Mock server Rack based REST corresponding server

Install

gem install minimo

Usage

It is placed in the directory you specify a response file. For example, in the case of the json response to the POST method. To place the json file in response/POST/hello/world.json.

$ mkdir -p response/POST/hello
$ cd response/POST/hello
$ vi world.json

{
    "hello": "world"
}

To start the minimo server.

# initialize.rb
require 'minimo'

# set response file dir
set :fixture_path, File.dirname( __FILE__ ) + '/response'

# set log file dir
set :log_dir, File.dirname( __FILE__ ) + '/log'

# set http header
set :headers, { 'Vary' => 'Accept-Encoding' }

Rack::Handler::WEBrick.run minimo::Application, Host: '0.0.0.0', Port: 9292

And run the POST method.

$ curl -X POST http://localhost:9292/hello/world/ -d "{ hey: 'ok' }"
{
    "hello": "world"
}

You can check the log file

$ cat log/minimo.log

- -> /hello/world/
::1 - - [14/Jul/2016:21:45:17 JST] "POST /hello/world/ HTTP/1.1" 201 16

Other

The response can be created json, xml, in the text. In addition to the POST, HEAD, PUT, corresponds to DELETE.

# To place the response file in response/GET/hello/world.(txt|jso|xml)
# http status 200
$ curl -X GET http://localhost:9292/hello/world/

# To place the response file in response/HEAD/hello/world.(txt|jso|xml)
# http status 200
$ curl -I http://localhost:9292/hello/world/

# To place the response file in response/PUT/hello/world.(txt|jso|xml)
# http status 204
$ curl -X PUT http://localhost:9292/hello/world/

# To place the response file in response/DELETE/hello/world.(txt|jso|xml)
# http status 204
$ curl -X DELETE http://localhost:9292/hello/world/

Contributing

Contributions to this gem are always welcome 😄 See CONTRIBUTING for more information on how to get started.

License

This project is licensed under the terms of the MIT license. See the LICENSE file.