Skip to content

Commit 3e855dd

Browse files
anakinjpeter scholz
authored and
peter scholz
committed
Include headers when body parameters have been defined (#494)
1 parent fdbe8e4 commit 3e855dd

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#### Fixes
1212

13+
* [#494](https://github.com/ruby-grape/grape-swagger/pull/494): Header parametes are now included in documentation when body parameters have been defined - [@anakinj](https://github.com/anakinj).
1314
* Your contribution here.
1415

1516
### 0.23.0 (August 5, 2016)

lib/grape-swagger/endpoint.rb

+7-5
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,17 @@ def partition_params(route)
222222
declared_params = route.settings[:declared_params] if route.settings[:declared_params].present?
223223
required, exposed = route.params.partition { |x| x.first.is_a? String }
224224
required = GrapeSwagger::DocMethods::Headers.parse(route) + required unless route.headers.nil?
225+
225226
default_type(required)
226227
default_type(exposed)
227228

228-
unless declared_params.nil? && route.headers.nil?
229-
request_params = parse_request_params(required)
230-
end
229+
request_params = unless declared_params.nil? && route.headers.nil?
230+
parse_request_params(required)
231+
end || {}
232+
233+
request_params = route.params.merge(request_params) if route.params.present? && !route.settings[:declared_params].present?
231234

232-
return route.params if route.params.present? && !route.settings[:declared_params].present?
233-
request_params || {}
235+
request_params
234236
end
235237

236238
def default_type(params)

spec/swagger_v2/api_swagger_v2_body_definitions_spec.rb

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ def app
3939
'body_param' => { 'type' => 'string', 'description' => 'param' },
4040
'body_type_as_const_param' => { 'type' => 'string', 'description' => 'string_param' }
4141
)
42+
43+
expect(subject['paths']['/endpoint']['post']['parameters'].any? { |p| p['name'] == 'XAuthToken' && p['in'] == 'header' }).to eql(true)
4244
end
4345
end
4446
end

0 commit comments

Comments
 (0)