Class: Rack::WWWFormEncoding

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/www_form_encoding.rb,
lib/rack/www_form_encoding/version.rb

Constant Summary collapse

VERSION =
"1.0.2"

Instance Method Summary collapse

Constructor Details

#initialize(app, encoding) ⇒ WWWFormEncoding

Returns a new instance of WWWFormEncoding.



7
8
9
10
# File 'lib/rack/www_form_encoding.rb', line 7

def initialize(app, encoding)
  @app = app
  @encoding = encoding
end

Instance Method Details

#call(env) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rack/www_form_encoding.rb', line 12

def call(env)
  post_body = env['rack.input'].read

  unless env['CONTENT_TYPE'] && env['CONTENT_TYPE'].start_with?("multipart/form-data;")
    converted = convert_form(post_body, @encoding)
    env['rack.input'] = StringIO.new(converted)
  end

  env['QUERY_STRING'] = convert_form(env['QUERY_STRING'], @encoding)

  @app.call(env)
end