Sha256: afba9bab25ec4958ed1704245c6f4a60090b558186e1c6a94dbb7de722e2a19f

Contents?: true

Size: 759 Bytes

Versions: 12

Compression:

Stored size: 759 Bytes

Contents

if __FILE__ == $0
  require "json"
  require "base64"
  STDOUT.sync = true

  trap(:INT) do
    @server.shutdown
    exit
  end

  def webrick_opts port
    {
      Port: port,
      Host: "0.0.0.0",
      AccessLog: [],
    }
  end

  app = ->(env) do
    env["rack.input"].rewind
    body_hash = JSON.parse(env["rack.input"].read)
    metadata = body_hash["pactUrl"].split("/").last

    metadata_string = Base64.strict_decode64(metadata)
    metadata = Rack::Utils.parse_nested_query(metadata_string)
    # hash = JSON.parse(json)
    [200, {}, [metadata.to_json]]

  end

  require "webrick"
  require "rack"
  require "rack/handler/webrick"

  opts = webrick_opts(4445)

  Rack::Handler::WEBrick.run(app, opts) do |server|
    @server = server
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.89.1 spec/support/metadata_test_server.rb
pact_broker-2.89.0 spec/support/metadata_test_server.rb
pact_broker-2.88.0 spec/support/metadata_test_server.rb
pact_broker-2.87.0 spec/support/metadata_test_server.rb
pact_broker-2.86.0 spec/support/metadata_test_server.rb
pact_broker-2.85.1 spec/support/metadata_test_server.rb
pact_broker-2.85.0 spec/support/metadata_test_server.rb
pact_broker-2.84.0 spec/support/metadata_test_server.rb
pact_broker-2.83.0 spec/support/metadata_test_server.rb
pact_broker-2.82.0 spec/support/metadata_test_server.rb
pact_broker-2.81.0 spec/support/metadata_test_server.rb
pact_broker-2.80.0 spec/support/metadata_test_server.rb