rpdoc 0.1.9 → 0.1.10

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
  SHA256:
3
- metadata.gz: d38555025c1b436ea3d194ed8a19cde8dbf15ea5cc88a56c60f4ad5251ab8677
4
- data.tar.gz: c3dab44f8ce28e9ed61a6ddfe18c3ce269be12b14455e903c0bf74be7a68f4da
3
+ metadata.gz: 16b0cdb642076fcefec76d09ec66960bf55bb49afd7e2bee3b55f8770c8a6cbb
4
+ data.tar.gz: de44ec4dbddaef841f969b29807f2b8c315219e9b45f8331da07f9104c456183
5
5
  SHA512:
6
- metadata.gz: 891ef2d38410d4f0fbd8f6d189a35408534fb8586589346af08557bc61382ede5dfd856b17ee67a77124bbf996eb3f8e9f0b39d613ee5573ab294aa555853986
7
- data.tar.gz: 0bbdd35bd8ab65d597a8bca5adca8a2d93519b34680a558766ff9c067564cf3c57beb5088fdc8d6f016e9a7ab72567ba0b161d8576aaf12da11ef74ccaba83f1
6
+ metadata.gz: 79850b0d3657c277641209887d1bc72beab36a350b528064e45bdc0533e102bbbd04db1dbc2f3e2fbbabf530aaebe7c8f952c0bc3701498fee99cc9b84349539
7
+ data.tar.gz: f2fa4f29d8844eec8dde825c7766975b4af1aa0e16a4b4811d35a3ee4252ddb2c9c8d696279d5314fbac43959e86268c3c56d8f09cf3fafae2f392ee7b299748
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
+ ## [0.1.10] - 2022-07-14
2
+ - Enable form-data request body
3
+
1
4
  ## [0.1.7, 0.1.8, 0.1.9] - 2022-02-14
2
5
  - Fix rspec parse zip response bug
6
+
3
7
  ## [0.1.6] - 2022-02-14
4
8
  - Update licnese
5
9
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rpdoc (0.1.2)
4
+ rpdoc (0.1.10)
5
5
  json_requester (~> 1.0)
6
6
 
7
7
  GEM
@@ -33,35 +33,19 @@ GEM
33
33
  crass (1.0.6)
34
34
  diff-lcs (1.4.4)
35
35
  erubi (1.10.0)
36
- faraday (1.8.0)
37
- faraday-em_http (~> 1.0)
38
- faraday-em_synchrony (~> 1.0)
39
- faraday-excon (~> 1.1)
40
- faraday-httpclient (~> 1.0.1)
41
- faraday-net_http (~> 1.0)
42
- faraday-net_http_persistent (~> 1.1)
43
- faraday-patron (~> 1.0)
44
- faraday-rack (~> 1.0)
45
- multipart-post (>= 1.2, < 3)
36
+ faraday (2.3.0)
37
+ faraday-net_http (~> 2.0)
46
38
  ruby2_keywords (>= 0.0.4)
47
- faraday-em_http (1.0.0)
48
- faraday-em_synchrony (1.0.0)
49
- faraday-excon (1.1.0)
50
- faraday-httpclient (1.0.1)
51
- faraday-net_http (1.0.1)
52
- faraday-net_http_persistent (1.2.0)
53
- faraday-patron (1.0.0)
54
- faraday-rack (1.0.0)
39
+ faraday-net_http (2.0.3)
55
40
  i18n (1.8.10)
56
41
  concurrent-ruby (~> 1.0)
57
- json_requester (1.0.3)
42
+ json_requester (1.0.7)
58
43
  faraday (>= 1.0.0)
59
44
  loofah (2.12.0)
60
45
  crass (~> 1.0.2)
61
46
  nokogiri (>= 1.5.9)
62
47
  method_source (1.0.0)
63
48
  minitest (5.14.4)
64
- multipart-post (2.1.1)
65
49
  nokogiri (1.12.5-x86_64-darwin)
66
50
  racc (~> 1.4)
67
51
  parallel (1.21.0)
@@ -132,4 +116,4 @@ DEPENDENCIES
132
116
  rubocop (~> 1.0)
133
117
 
134
118
  BUNDLED WITH
135
- 2.2.15
119
+ 2.2.32
data/VERSION.md CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.1.10
@@ -75,13 +75,14 @@ module Rpdoc
75
75
  end.compact
76
76
  query_string = @rspec_request.query_string.split('&').map do |string|
77
77
  key, value = string.split('=')
78
+ next if key.nil? || value.nil?
78
79
  {
79
80
  key: key,
80
81
  value: CGI.unescape(value),
81
82
  text: 'text'
82
83
  }
83
- end
84
- @original_request_data = {
84
+ end.compact
85
+ {
85
86
  method: @rspec_request.method,
86
87
  header: filter_headers,
87
88
  url: {
@@ -90,18 +91,57 @@ module Rpdoc
90
91
  path: @rspec_request.path.split('/'),
91
92
  query: query_string
92
93
  },
93
- body: nil
94
+ body: original_request_data_body
94
95
  }
95
- @original_request_data[:body] = {
96
- mode: 'raw',
97
- raw: JSON.pretty_generate(JSON.parse(@rspec_request.headers['RAW_POST_DATA'])),
98
- options: {
99
- raw: {
100
- language: "json"
96
+ end
97
+
98
+ def original_request_data_body
99
+ if @rspec_request.headers['RAW_POST_DATA'].present?
100
+ json_body = JSON.pretty_generate(JSON.parse(@rspec_request.headers['RAW_POST_DATA'])) rescue nil
101
+ {
102
+ mode: 'raw',
103
+ raw: json_body || @rspec_request.headers['RAW_POST_DATA'],
104
+ options: {
105
+ raw: {
106
+ language: json_body.present? ? 'json' : 'text'
107
+ }
101
108
  }
102
109
  }
103
- } if @rspec_request.headers['RAW_POST_DATA'].present?
104
- @original_request_data
105
- end
110
+ elsif @rspec_request.form_data?
111
+ {
112
+ mode: 'formdata',
113
+ formdata: form_data_object_to_array(@rspec_request.request_parameters)
114
+ }
115
+ else
116
+ nil
117
+ end
118
+ end
119
+
120
+ def form_data_object_to_array(form_data, prefix: nil)
121
+ array = []
122
+ form_data.each do |key, value|
123
+ key = "#{prefix}[#{key}]" if prefix.present?
124
+ if value.is_a?(Hash)
125
+ array += form_data_object_to_array(value, prefix: key)
126
+ elsif value.is_a?(Array)
127
+ value.each do |item|
128
+ array += form_data_object_to_array(item, prefix: "#{key}[]")
129
+ end
130
+ elsif value.is_a?(ActionDispatch::Http::UploadedFile)
131
+ array << {
132
+ key: key,
133
+ src: value.original_filename,
134
+ type: 'file'
135
+ }
136
+ else
137
+ array << {
138
+ key: key,
139
+ value: value,
140
+ type: 'text'
141
+ }
142
+ end
143
+ end
144
+ array
145
+ end
106
146
  end
107
147
  end
data/lib/rpdoc/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rpdoc
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.10"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - yuntai
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-14 00:00:00.000000000 Z
11
+ date: 2022-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_requester