Sha256: c2452fd026cc71a224ccbf8409ae9935586bd133913144fdb64ed49a9baed6fa

Contents?: true

Size: 631 Bytes

Versions: 15

Compression:

Stored size: 631 Bytes

Contents

shared_context :rack_request do
  def format_as_rack_header_name(key)
    rack_key = key.upcase.tr('-', '_')
    %w(CONTENT_TYPE CONTENT_LENGTH REMOTE_ADDR).include?(key) ? rack_key : "HTTP_#{rack_key}"
  end

  def format_http_to_rack_headers(hash)
    hash.each_with_object({}) do |key_value, converted_headers|
      env_key = format_as_rack_header_name(key_value[0])
      converted_headers[env_key] = key_value[1]
    end
  end

  def env_for(path: '/', method: :get, params_or_body: {}, env: {})
    env = env.merge(method: method, params: params_or_body)
    Rack::Test::Session.new(nil).send(:env_for, path, env)
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
sitehub-0.5.0.alpha12 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.4.10 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha11 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha10 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha8 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha7 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha6 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha5 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha4 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha3 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.5.0.alpha2 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.4.9 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.4.8 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.4.7 spec/support/shared_contexts/rack_request_context.rb
sitehub-0.4.6 spec/support/shared_contexts/rack_request_context.rb