rack-parser 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rack/parser.rb CHANGED
@@ -47,11 +47,13 @@ module Rack
47
47
  format = content_type.split('/').last
48
48
  begin
49
49
  result = @content_types[content_type].call(body)
50
- env.update FORM_HASH => result, FORM_INPUT => body
50
+ env.update FORM_HASH => result, FORM_INPUT => env[POST_BODY]
51
51
  @app.call env
52
52
  rescue Exception => e
53
53
  logger.warn "#{self.class} #{content_type} parsing error: #{e.to_s}" if respond_to? :logger # Send to logger if its there.
54
- [400, { 'Content-Type' => content_type }, [ {'errors' => e.to_s}.method("to_#{format}").call ] ] # Finally, return an error response.
54
+ meth = "to_#{format}"
55
+ meth = "inspect" unless Hash.respond_to? meth
56
+ [400, { 'Content-Type' => content_type }, [ {'errors' => e.to_s}.method(meth).call ] ] # Finally, return an error response.
55
57
  end
56
58
  end
57
59
 
data/rack-parser.gemspec CHANGED
@@ -3,10 +3,10 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rack-parser"
6
- s.version = "0.0.1"
6
+ s.version = "0.0.3"
7
7
  s.authors = ["Arthur Chiu"]
8
8
  s.email = ["mr.arthur.chiu@gmail.com"]
9
- s.homepage = ""
9
+ s.homepage = "https://www.github.com/achiu/rack-parser"
10
10
  s.summary = %q{Rack Middleware for parsing post body data}
11
11
  s.description = %q{Rack Middleware for parsing post body data for json/xml and various content types}
12
12
 
data/test/parser_test.rb CHANGED
@@ -51,7 +51,7 @@ context "Rack::Parser" do
51
51
  end
52
52
 
53
53
  asserts(:status).equals 200
54
- asserts(:body).equals 'foo'
54
+ asserts(:body).equals({'foo' => 'bar'}.inspect)
55
55
  end
56
56
 
57
57
  context "with bad data" do
data/test/teststrap.rb CHANGED
@@ -15,7 +15,8 @@ class Riot::Situation
15
15
  return_code, body_text =
16
16
  case request.path
17
17
  when '/' then [200,'Hello world']
18
- when '/post' then [200, env['rack.request.form_hash']]
18
+ when '/post'
19
+ [200, Rack::Request.new(env).params]
19
20
  else
20
21
  [404,'Nothing here']
21
22
  end
@@ -23,7 +24,7 @@ class Riot::Situation
23
24
  }
24
25
 
25
26
  builder = Rack::Builder.new
26
- builder.use Rack::Parser, :content_types => { 'application/foo' => Proc.new { |b| 'foo' } }
27
+ builder.use Rack::Parser, :content_types => { 'application/foo' => Proc.new { |b| {'foo' => 'bar'} } }
27
28
  builder.run main_app
28
29
  builder.to_app
29
30
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rack-parser
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Arthur Chiu
@@ -97,7 +97,7 @@ files:
97
97
  - rack-parser.gemspec
98
98
  - test/parser_test.rb
99
99
  - test/teststrap.rb
100
- homepage: ""
100
+ homepage: https://www.github.com/achiu/rack-parser
101
101
  licenses: []
102
102
 
103
103
  post_install_message: