I have a very simple Ruby Rack server, like: 

```
app = Proc.new do |env| 
  req = Rack::Request.new(env).params
  p req.inspect 
  [200, { 'Content-Type' => 'text/plain' }, ['Some body']]
end 

Rack::Handler::Thin.run(app, :Port => 4001, :threaded => true)

```

Whenever I send a POST HTTP request to the server with an JSON object: 

```
{ "session": {
"accountId": String,
"callId": String,
"from": Object,
"headers": Object,
"id": String,
"initialText": String,
"parameters": Object,
"timestamp": String,
"to": Object,
"userType": String } } 

```

I receive nothing. I can detect the request received but can't get the data. The results at my console for `puts req.inspect` is something like: 

```
"{}"

```

How am I supposed to get the data?

I tried to change that with something like: 

```
request  = Rack::Request.new env
object   = JSON.parse request.body
puts JSON.pretty_generate(object)

```

But I'm getting the following warning: 

```
!! Unexpected error while processing request: can't convert StringIO into String

```