rpdoc 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
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