watchdocs-rails 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af1de1864e1b91549f1070d3afaeb7a44e2aaf07
4
- data.tar.gz: a5fd418998d23778f14f2a2c58a879932b65ecae
3
+ metadata.gz: 1d4ce6cd6e1a40a6fd07f03b15182856b0cd506f
4
+ data.tar.gz: 9a138b39de57b4c8af88dfa30fd07eb0e310cf4f
5
5
  SHA512:
6
- metadata.gz: 80f33dc98a5c02a31a013b4be6da55e115984cd20e4efd9ef2c964497ee873146af06b03ac09d25c7afc0204c27677dba388497e0a200db551f43c3864077ffa
7
- data.tar.gz: 12d443edea20cd9e2ec663ce26d568ee93b3d09665532dc86a2d4c176ff183ac745f0af140f644bdb88786bdc80d51c5ee9ca92c1881b6d0c58361132964c1eb
6
+ metadata.gz: 3677a73a2f29bf78d007620a6abb8115a4cb8dfb7943de3935530cffc53cbff3fb0e8714142b5e30a8221edd848923219bafa09319121480777328400026aadd
7
+ data.tar.gz: 274be20d49c111a90fce4ad19da7eed5447e85942eec912ba85dfe7249d34b7acb5d726958f17d33c3d49a7444c70aae476870ea2a9a636bdeed9c25a7165a6d
@@ -35,8 +35,8 @@ module Watchdocs
35
35
  @report[:request] = {
36
36
  method: env['REQUEST_METHOD'],
37
37
  url: env['PATH_INFO'],
38
- query_string_params: CGI.parse(env['QUERY_STRING']),
39
- body: parse_body(env['rack.input'].read),
38
+ query_string_params: Rack::Utils.parse_nested_query(env['QUERY_STRING']),
39
+ body: parse_request_body(env['rack.input'].read),
40
40
  headers: request_headers(env)
41
41
  }
42
42
  end
@@ -46,7 +46,7 @@ module Watchdocs
46
46
  @report[:response] = {
47
47
  status: status,
48
48
  headers: headers.to_hash.upcased_keys,
49
- body: parse_body(body_string(body))
49
+ body: parse_response_body(body_string(body))
50
50
  }
51
51
  end
52
52
 
@@ -82,12 +82,24 @@ module Watchdocs
82
82
  body_string
83
83
  end
84
84
 
85
- def parse_body(body)
85
+ def parse_response_body(body)
86
86
  return if body.empty?
87
87
  JSON.parse(body).filter_data
88
88
  rescue JSON::ParserError
89
89
  'Invalid JSON'
90
90
  end
91
+
92
+ def parse_request_body(body)
93
+ return if body.empty?
94
+ JSON.parse(body).filter_data
95
+ rescue JSON::ParserError
96
+ begin
97
+ Rack::Utils.parse_nested_query(body)
98
+ .filter_data
99
+ rescue StandardError
100
+ 'Request body format not supported'
101
+ end
102
+ end
91
103
  end
92
104
  end
93
105
  end
@@ -1,5 +1,5 @@
1
1
  module Watchdocs
2
2
  module Rails
3
- VERSION = "0.1.4"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watchdocs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mazikwyry