Rack provides a minimal interface between webservers supporting Ruby and Ruby frameworks.
Informally, a Rack application is a thing that responds to
#call and takes a hash as argument, returning an array of status, headers and a body. The body needs to respond to
#each and then successively return strings that represent the response body and provide more convenience (
Rack::Response) that you are free to use if you wish.