Sha256: 88c73633cafe29d27e606c8dd968b5100ac5beb01c69719cbfb5c1b30077c5a2

Contents?: true

Size: 595 Bytes

Versions: 12

Compression:

Stored size: 595 Bytes

Contents

require 'rack'
require 'json'
app = Proc.new do |env|
  if env['HTTP_CONTENT_TYPE'] == 'application/json'
    request_json = {
      verb: env["REQUEST_METHOD"],
      uri:  env["REQUEST_URI"],
      body: env["rack.input"].read,
      protcol: env["SERVER_PROTOCOL"],
      headers: Hash[env.select {|k, v| k.start_with?("HTTP_") }.map {|k, v| [k[5..-1], v] }]
    }.to_json

    [200, {'Content-Type' => "application/json", 'Content-Length' => request_json.length.to_s}, [request_json]]
  else
    [200, {'Content-Type' => "application/xml"}, ['<foo><bar>baz</bar></foo>']]
  end
end

run app

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
dock_test-0.4.8 config.ru
dock_test-0.4.6 config.ru
dock_test-0.4.5 config.ru
dock_test-0.4.0 config.ru
dock_test-0.3.7 config.ru
dock_test-0.3.6 config.ru
dock_test-0.3.5 config.ru
dock_test-0.3.4 config.ru
dock_test-0.3.3 config.ru
dock_test-0.3.2 config.ru
dock_test-0.3.1 config.ru
dock_test-0.3.0 config.ru