```rb

def rack_input
  (@settings['rack.input'].read).tap { @settings['rack.input'].rewind }
end

def data
    post? ? parse(rack_input) : nil
end

def parse(json)
  begin
    JSON.parse(json)
  rescue JSON::ParserError => e
    logger.info("Broker.environment#data: ParserError")
    nil
  end
end

```