pulp_npm_client 0.1.0a4 → 0.1.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 +4 -4
- data/README.md +24 -10
- data/docs/AsyncOperationResponse.md +8 -7
- data/docs/ContentPackagesApi.md +126 -64
- data/docs/ContentSummaryResponse.md +12 -11
- data/docs/DistributionsNpmApi.md +362 -93
- data/docs/NpmNpmDistribution.md +18 -15
- data/docs/NpmNpmDistributionResponse.md +30 -21
- data/docs/NpmNpmRemote.md +48 -47
- data/docs/NpmNpmRemoteResponse.md +48 -43
- data/docs/NpmNpmRemoteResponseHiddenFieldsInner.md +20 -0
- data/docs/NpmNpmRepository.md +16 -15
- data/docs/NpmNpmRepositoryResponse.md +28 -23
- data/docs/NpmPackageResponse.md +22 -17
- data/docs/PaginatedRepositoryVersionResponseList.md +14 -13
- data/docs/PaginatednpmNpmDistributionResponseList.md +14 -13
- data/docs/PaginatednpmNpmRemoteResponseList.md +14 -13
- data/docs/PaginatednpmNpmRepositoryResponseList.md +14 -13
- data/docs/PaginatednpmPackageResponseList.md +14 -13
- data/docs/PatchednpmNpmDistribution.md +18 -15
- data/docs/PatchednpmNpmRemote.md +48 -47
- data/docs/PatchednpmNpmRepository.md +16 -15
- data/docs/PolicyEnum.md +4 -5
- data/docs/RemotesNpmApi.md +364 -99
- data/docs/Repair.md +8 -7
- data/docs/RepositoriesNpmApi.md +429 -110
- data/docs/RepositoriesNpmVersionsApi.md +156 -80
- data/docs/RepositoryAddRemoveContent.md +12 -11
- data/docs/RepositorySyncURL.md +10 -9
- data/docs/RepositoryVersionResponse.md +22 -17
- data/docs/SetLabel.md +20 -0
- data/docs/SetLabelResponse.md +20 -0
- data/docs/UnsetLabel.md +18 -0
- data/docs/UnsetLabelResponse.md +20 -0
- data/lib/pulp_npm_client/api/content_packages_api.rb +72 -44
- data/lib/pulp_npm_client/api/distributions_npm_api.rb +243 -47
- data/lib/pulp_npm_client/api/remotes_npm_api.rb +247 -57
- data/lib/pulp_npm_client/api/repositories_npm_api.rb +283 -55
- data/lib/pulp_npm_client/api/repositories_npm_versions_api.rb +71 -52
- data/lib/pulp_npm_client/api_client.rb +137 -102
- data/lib/pulp_npm_client/api_error.rb +2 -1
- data/lib/pulp_npm_client/configuration.rb +163 -22
- data/lib/pulp_npm_client/models/async_operation_response.rb +32 -22
- data/lib/pulp_npm_client/models/content_summary_response.rb +36 -22
- data/lib/pulp_npm_client/models/npm_npm_distribution.rb +51 -25
- data/lib/pulp_npm_client/models/npm_npm_distribution_response.rb +83 -27
- data/lib/pulp_npm_client/models/npm_npm_remote.rb +61 -25
- data/lib/pulp_npm_client/models/npm_npm_remote_response.rb +99 -41
- data/lib/pulp_npm_client/models/npm_npm_remote_response_hidden_fields_inner.rb +237 -0
- data/lib/pulp_npm_client/models/npm_npm_repository.rb +37 -25
- data/lib/pulp_npm_client/models/npm_npm_repository_response.rb +59 -27
- data/lib/pulp_npm_client/models/npm_package_response.rb +58 -24
- data/lib/pulp_npm_client/models/paginated_repository_version_response_list.rb +44 -22
- data/lib/pulp_npm_client/models/paginatednpm_npm_distribution_response_list.rb +44 -22
- data/lib/pulp_npm_client/models/paginatednpm_npm_remote_response_list.rb +44 -22
- data/lib/pulp_npm_client/models/paginatednpm_npm_repository_response_list.rb +44 -22
- data/lib/pulp_npm_client/models/paginatednpm_package_response_list.rb +44 -22
- data/lib/pulp_npm_client/models/patchednpm_npm_distribution.rb +57 -27
- data/lib/pulp_npm_client/models/patchednpm_npm_remote.rb +67 -27
- data/lib/pulp_npm_client/models/patchednpm_npm_repository.rb +40 -26
- data/lib/pulp_npm_client/models/policy_enum.rb +8 -4
- data/lib/pulp_npm_client/models/repair.rb +30 -22
- data/lib/pulp_npm_client/models/repository_add_remove_content.rb +33 -25
- data/lib/pulp_npm_client/models/repository_sync_url.rb +30 -22
- data/lib/pulp_npm_client/models/repository_version_response.rb +53 -25
- data/lib/pulp_npm_client/models/set_label.rb +264 -0
- data/lib/pulp_npm_client/models/set_label_response.rb +255 -0
- data/lib/pulp_npm_client/models/unset_label.rb +252 -0
- data/lib/pulp_npm_client/models/unset_label_response.rb +252 -0
- data/lib/pulp_npm_client/version.rb +2 -2
- data/lib/pulp_npm_client.rb +6 -3
- data/pulp_npm_client.gemspec +10 -7
- data/spec/api/content_packages_api_spec.rb +22 -16
- data/spec/api/distributions_npm_api_spec.rb +51 -14
- data/spec/api/remotes_npm_api_spec.rb +54 -19
- data/spec/api/repositories_npm_api_spec.rb +60 -15
- data/spec/api/repositories_npm_versions_api_spec.rb +23 -19
- data/spec/models/async_operation_response_spec.rb +7 -12
- data/spec/models/content_summary_response_spec.rb +9 -14
- data/spec/models/npm_npm_distribution_response_spec.rb +38 -19
- data/spec/models/npm_npm_distribution_spec.rb +17 -16
- data/spec/models/npm_npm_remote_response_hidden_fields_inner_spec.rb +42 -0
- data/spec/models/npm_npm_remote_response_spec.rb +42 -35
- data/spec/models/npm_npm_remote_spec.rb +27 -32
- data/spec/models/npm_npm_repository_response_spec.rb +27 -20
- data/spec/models/npm_npm_repository_spec.rb +11 -16
- data/spec/models/npm_package_response_spec.rb +24 -17
- data/spec/models/paginated_repository_version_response_list_spec.rb +10 -15
- data/spec/models/paginatednpm_npm_distribution_response_list_spec.rb +10 -15
- data/spec/models/paginatednpm_npm_remote_response_list_spec.rb +10 -15
- data/spec/models/paginatednpm_npm_repository_response_list_spec.rb +10 -15
- data/spec/models/paginatednpm_package_response_list_spec.rb +10 -15
- data/spec/models/patchednpm_npm_distribution_spec.rb +17 -16
- data/spec/models/patchednpm_npm_remote_spec.rb +27 -32
- data/spec/models/patchednpm_npm_repository_spec.rb +11 -16
- data/spec/models/policy_enum_spec.rb +6 -11
- data/spec/models/repair_spec.rb +7 -12
- data/spec/models/repository_add_remove_content_spec.rb +9 -14
- data/spec/models/repository_sync_url_spec.rb +8 -13
- data/spec/models/repository_version_response_spec.rb +24 -17
- data/spec/models/set_label_response_spec.rb +42 -0
- data/spec/models/set_label_spec.rb +42 -0
- data/spec/models/unset_label_response_spec.rb +42 -0
- data/spec/models/unset_label_spec.rb +36 -0
- data/spec/spec_helper.rb +1 -1
- metadata +94 -59
- data/docs/NpmPackage.md +0 -29
- data/docs/PulpNpmPackagesApi.md +0 -60
- data/git_push.sh +0 -58
- data/lib/pulp_npm_client/api/pulp_npm_packages_api.rb +0 -86
- data/lib/pulp_npm_client/models/npm_package.rb +0 -337
- data/spec/api/pulp_npm_packages_api_spec.rb +0 -48
- data/spec/api_client_spec.rb +0 -188
- data/spec/configuration_spec.rb +0 -42
- data/spec/models/npm_package_spec.rb +0 -77
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: v3
|
|
7
7
|
Contact: pulp-list@redhat.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.10.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -51,21 +51,22 @@ module PulpNpmClient
|
|
|
51
51
|
# header parameters
|
|
52
52
|
header_params = opts[:header_params] || {}
|
|
53
53
|
# HTTP header 'Accept' (if needed)
|
|
54
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
55
55
|
|
|
56
56
|
# form parameters
|
|
57
57
|
form_params = opts[:form_params] || {}
|
|
58
58
|
|
|
59
59
|
# http body (model)
|
|
60
|
-
post_body = opts[:
|
|
60
|
+
post_body = opts[:debug_body]
|
|
61
61
|
|
|
62
62
|
# return_type
|
|
63
|
-
return_type = opts[:
|
|
63
|
+
return_type = opts[:debug_return_type] || 'AsyncOperationResponse'
|
|
64
64
|
|
|
65
65
|
# auth_names
|
|
66
|
-
auth_names = opts[:
|
|
66
|
+
auth_names = opts[:debug_auth_names] || ['basicAuth']
|
|
67
67
|
|
|
68
68
|
new_options = opts.merge(
|
|
69
|
+
:operation => :"RepositoriesNpmVersionsApi.delete",
|
|
69
70
|
:header_params => header_params,
|
|
70
71
|
:query_params => query_params,
|
|
71
72
|
:form_params => form_params,
|
|
@@ -85,25 +86,29 @@ module PulpNpmClient
|
|
|
85
86
|
# A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
|
|
86
87
|
# @param npm_npm_repository_href [String]
|
|
87
88
|
# @param [Hash] opts the optional parameters
|
|
88
|
-
# @option opts [String] :content Content Unit referenced by HREF
|
|
89
|
-
# @option opts [String] :content__in
|
|
89
|
+
# @option opts [String] :content Content Unit referenced by HREF/PRN
|
|
90
|
+
# @option opts [Array<String>] :content__in Multiple values may be separated by commas.
|
|
90
91
|
# @option opts [Integer] :limit Number of results to return per page.
|
|
91
|
-
# @option opts [Integer] :number
|
|
92
|
+
# @option opts [Integer] :number Filter results where number matches value
|
|
92
93
|
# @option opts [Integer] :number__gt Filter results where number is greater than value
|
|
93
94
|
# @option opts [Integer] :number__gte Filter results where number is greater than or equal to value
|
|
94
95
|
# @option opts [Integer] :number__lt Filter results where number is less than value
|
|
95
96
|
# @option opts [Integer] :number__lte Filter results where number is less than or equal to value
|
|
96
97
|
# @option opts [Array<Integer>] :number__range Filter results where number is between two comma separated values
|
|
97
98
|
# @option opts [Integer] :offset The initial index from which to return the results.
|
|
98
|
-
# @option opts [Array<String>] :ordering Ordering
|
|
99
|
-
# @option opts [
|
|
100
|
-
# @option opts [
|
|
101
|
-
# @option opts [
|
|
102
|
-
# @option opts [
|
|
103
|
-
# @option opts [
|
|
104
|
-
# @option opts [
|
|
105
|
-
# @option opts [
|
|
106
|
-
# @option opts [
|
|
99
|
+
# @option opts [Array<String>] :ordering Ordering * `pulp_id` - Pulp id * `-pulp_id` - Pulp id (descending) * `pulp_created` - Pulp created * `-pulp_created` - Pulp created (descending) * `pulp_last_updated` - Pulp last updated * `-pulp_last_updated` - Pulp last updated (descending) * `number` - Number * `-number` - Number (descending) * `complete` - Complete * `-complete` - Complete (descending) * `info` - Info * `-info` - Info (descending) * `pk` - Pk * `-pk` - Pk (descending)
|
|
100
|
+
# @option opts [Array<String>] :prn__in Multiple values may be separated by commas.
|
|
101
|
+
# @option opts [Time] :pulp_created Filter results where pulp_created matches value
|
|
102
|
+
# @option opts [Time] :pulp_created__gt Filter results where pulp_created is greater than value
|
|
103
|
+
# @option opts [Time] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
|
|
104
|
+
# @option opts [Boolean] :pulp_created__isnull Filter results where pulp_created has a null value
|
|
105
|
+
# @option opts [Time] :pulp_created__lt Filter results where pulp_created is less than value
|
|
106
|
+
# @option opts [Time] :pulp_created__lte Filter results where pulp_created is less than or equal to value
|
|
107
|
+
# @option opts [Array<Time>] :pulp_created__range Filter results where pulp_created is between two comma separated values
|
|
108
|
+
# @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
|
|
109
|
+
# @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters
|
|
110
|
+
# @option opts [Array<String>] :fields A list of fields to include in the response.
|
|
111
|
+
# @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
|
|
107
112
|
# @return [PaginatedRepositoryVersionResponseList]
|
|
108
113
|
def list(npm_npm_repository_href, opts = {})
|
|
109
114
|
data, _status_code, _headers = list_with_http_info(npm_npm_repository_href, opts)
|
|
@@ -114,25 +119,29 @@ module PulpNpmClient
|
|
|
114
119
|
# A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
|
|
115
120
|
# @param npm_npm_repository_href [String]
|
|
116
121
|
# @param [Hash] opts the optional parameters
|
|
117
|
-
# @option opts [String] :content Content Unit referenced by HREF
|
|
118
|
-
# @option opts [String] :content__in
|
|
122
|
+
# @option opts [String] :content Content Unit referenced by HREF/PRN
|
|
123
|
+
# @option opts [Array<String>] :content__in Multiple values may be separated by commas.
|
|
119
124
|
# @option opts [Integer] :limit Number of results to return per page.
|
|
120
|
-
# @option opts [Integer] :number
|
|
125
|
+
# @option opts [Integer] :number Filter results where number matches value
|
|
121
126
|
# @option opts [Integer] :number__gt Filter results where number is greater than value
|
|
122
127
|
# @option opts [Integer] :number__gte Filter results where number is greater than or equal to value
|
|
123
128
|
# @option opts [Integer] :number__lt Filter results where number is less than value
|
|
124
129
|
# @option opts [Integer] :number__lte Filter results where number is less than or equal to value
|
|
125
130
|
# @option opts [Array<Integer>] :number__range Filter results where number is between two comma separated values
|
|
126
131
|
# @option opts [Integer] :offset The initial index from which to return the results.
|
|
127
|
-
# @option opts [Array<String>] :ordering Ordering
|
|
128
|
-
# @option opts [
|
|
129
|
-
# @option opts [
|
|
130
|
-
# @option opts [
|
|
131
|
-
# @option opts [
|
|
132
|
-
# @option opts [
|
|
133
|
-
# @option opts [
|
|
134
|
-
# @option opts [
|
|
135
|
-
# @option opts [
|
|
132
|
+
# @option opts [Array<String>] :ordering Ordering * `pulp_id` - Pulp id * `-pulp_id` - Pulp id (descending) * `pulp_created` - Pulp created * `-pulp_created` - Pulp created (descending) * `pulp_last_updated` - Pulp last updated * `-pulp_last_updated` - Pulp last updated (descending) * `number` - Number * `-number` - Number (descending) * `complete` - Complete * `-complete` - Complete (descending) * `info` - Info * `-info` - Info (descending) * `pk` - Pk * `-pk` - Pk (descending)
|
|
133
|
+
# @option opts [Array<String>] :prn__in Multiple values may be separated by commas.
|
|
134
|
+
# @option opts [Time] :pulp_created Filter results where pulp_created matches value
|
|
135
|
+
# @option opts [Time] :pulp_created__gt Filter results where pulp_created is greater than value
|
|
136
|
+
# @option opts [Time] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
|
|
137
|
+
# @option opts [Boolean] :pulp_created__isnull Filter results where pulp_created has a null value
|
|
138
|
+
# @option opts [Time] :pulp_created__lt Filter results where pulp_created is less than value
|
|
139
|
+
# @option opts [Time] :pulp_created__lte Filter results where pulp_created is less than or equal to value
|
|
140
|
+
# @option opts [Array<Time>] :pulp_created__range Filter results where pulp_created is between two comma separated values
|
|
141
|
+
# @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
|
|
142
|
+
# @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters
|
|
143
|
+
# @option opts [Array<String>] :fields A list of fields to include in the response.
|
|
144
|
+
# @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
|
|
136
145
|
# @return [Array<(PaginatedRepositoryVersionResponseList, Integer, Hash)>] PaginatedRepositoryVersionResponseList data, response status code and response headers
|
|
137
146
|
def list_with_http_info(npm_npm_repository_href, opts = {})
|
|
138
147
|
if @api_client.config.debugging
|
|
@@ -142,7 +151,7 @@ module PulpNpmClient
|
|
|
142
151
|
if @api_client.config.client_side_validation && npm_npm_repository_href.nil?
|
|
143
152
|
fail ArgumentError, "Missing the required parameter 'npm_npm_repository_href' when calling RepositoriesNpmVersionsApi.list"
|
|
144
153
|
end
|
|
145
|
-
allowable_values = ["-
|
|
154
|
+
allowable_values = ["-complete", "-info", "-number", "-pk", "-pulp_created", "-pulp_id", "-pulp_last_updated", "complete", "info", "number", "pk", "pulp_created", "pulp_id", "pulp_last_updated"]
|
|
146
155
|
if @api_client.config.client_side_validation && opts[:'ordering'] && !opts[:'ordering'].all? { |item| allowable_values.include?(item) }
|
|
147
156
|
fail ArgumentError, "invalid value for \"ordering\", must include one of #{allowable_values}"
|
|
148
157
|
end
|
|
@@ -152,7 +161,7 @@ module PulpNpmClient
|
|
|
152
161
|
# query parameters
|
|
153
162
|
query_params = opts[:query_params] || {}
|
|
154
163
|
query_params[:'content'] = opts[:'content'] if !opts[:'content'].nil?
|
|
155
|
-
query_params[:'content__in'] = opts[:'content__in'] if !opts[:'content__in'].nil?
|
|
164
|
+
query_params[:'content__in'] = @api_client.build_collection_param(opts[:'content__in'], :csv) if !opts[:'content__in'].nil?
|
|
156
165
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
157
166
|
query_params[:'number'] = opts[:'number'] if !opts[:'number'].nil?
|
|
158
167
|
query_params[:'number__gt'] = opts[:'number__gt'] if !opts[:'number__gt'].nil?
|
|
@@ -162,33 +171,38 @@ module PulpNpmClient
|
|
|
162
171
|
query_params[:'number__range'] = @api_client.build_collection_param(opts[:'number__range'], :csv) if !opts[:'number__range'].nil?
|
|
163
172
|
query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
|
|
164
173
|
query_params[:'ordering'] = @api_client.build_collection_param(opts[:'ordering'], :csv) if !opts[:'ordering'].nil?
|
|
174
|
+
query_params[:'prn__in'] = @api_client.build_collection_param(opts[:'prn__in'], :csv) if !opts[:'prn__in'].nil?
|
|
165
175
|
query_params[:'pulp_created'] = opts[:'pulp_created'] if !opts[:'pulp_created'].nil?
|
|
166
176
|
query_params[:'pulp_created__gt'] = opts[:'pulp_created__gt'] if !opts[:'pulp_created__gt'].nil?
|
|
167
177
|
query_params[:'pulp_created__gte'] = opts[:'pulp_created__gte'] if !opts[:'pulp_created__gte'].nil?
|
|
178
|
+
query_params[:'pulp_created__isnull'] = opts[:'pulp_created__isnull'] if !opts[:'pulp_created__isnull'].nil?
|
|
168
179
|
query_params[:'pulp_created__lt'] = opts[:'pulp_created__lt'] if !opts[:'pulp_created__lt'].nil?
|
|
169
180
|
query_params[:'pulp_created__lte'] = opts[:'pulp_created__lte'] if !opts[:'pulp_created__lte'].nil?
|
|
170
181
|
query_params[:'pulp_created__range'] = @api_client.build_collection_param(opts[:'pulp_created__range'], :csv) if !opts[:'pulp_created__range'].nil?
|
|
171
|
-
query_params[:'
|
|
172
|
-
query_params[:'
|
|
182
|
+
query_params[:'pulp_href__in'] = @api_client.build_collection_param(opts[:'pulp_href__in'], :csv) if !opts[:'pulp_href__in'].nil?
|
|
183
|
+
query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
|
|
184
|
+
query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil?
|
|
185
|
+
query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil?
|
|
173
186
|
|
|
174
187
|
# header parameters
|
|
175
188
|
header_params = opts[:header_params] || {}
|
|
176
189
|
# HTTP header 'Accept' (if needed)
|
|
177
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
190
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
178
191
|
|
|
179
192
|
# form parameters
|
|
180
193
|
form_params = opts[:form_params] || {}
|
|
181
194
|
|
|
182
195
|
# http body (model)
|
|
183
|
-
post_body = opts[:
|
|
196
|
+
post_body = opts[:debug_body]
|
|
184
197
|
|
|
185
198
|
# return_type
|
|
186
|
-
return_type = opts[:
|
|
199
|
+
return_type = opts[:debug_return_type] || 'PaginatedRepositoryVersionResponseList'
|
|
187
200
|
|
|
188
201
|
# auth_names
|
|
189
|
-
auth_names = opts[:
|
|
202
|
+
auth_names = opts[:debug_auth_names] || ['basicAuth']
|
|
190
203
|
|
|
191
204
|
new_options = opts.merge(
|
|
205
|
+
:operation => :"RepositoriesNpmVersionsApi.list",
|
|
192
206
|
:header_params => header_params,
|
|
193
207
|
:query_params => query_params,
|
|
194
208
|
:form_params => form_params,
|
|
@@ -208,8 +222,8 @@ module PulpNpmClient
|
|
|
208
222
|
# A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
|
|
209
223
|
# @param npm_npm_repository_version_href [String]
|
|
210
224
|
# @param [Hash] opts the optional parameters
|
|
211
|
-
# @option opts [String] :fields A list of fields to include in the response.
|
|
212
|
-
# @option opts [String] :exclude_fields A list of fields to exclude from the response.
|
|
225
|
+
# @option opts [Array<String>] :fields A list of fields to include in the response.
|
|
226
|
+
# @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
|
|
213
227
|
# @return [RepositoryVersionResponse]
|
|
214
228
|
def read(npm_npm_repository_version_href, opts = {})
|
|
215
229
|
data, _status_code, _headers = read_with_http_info(npm_npm_repository_version_href, opts)
|
|
@@ -220,8 +234,8 @@ module PulpNpmClient
|
|
|
220
234
|
# A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
|
|
221
235
|
# @param npm_npm_repository_version_href [String]
|
|
222
236
|
# @param [Hash] opts the optional parameters
|
|
223
|
-
# @option opts [String] :fields A list of fields to include in the response.
|
|
224
|
-
# @option opts [String] :exclude_fields A list of fields to exclude from the response.
|
|
237
|
+
# @option opts [Array<String>] :fields A list of fields to include in the response.
|
|
238
|
+
# @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
|
|
225
239
|
# @return [Array<(RepositoryVersionResponse, Integer, Hash)>] RepositoryVersionResponse data, response status code and response headers
|
|
226
240
|
def read_with_http_info(npm_npm_repository_version_href, opts = {})
|
|
227
241
|
if @api_client.config.debugging
|
|
@@ -236,27 +250,28 @@ module PulpNpmClient
|
|
|
236
250
|
|
|
237
251
|
# query parameters
|
|
238
252
|
query_params = opts[:query_params] || {}
|
|
239
|
-
query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
|
|
240
|
-
query_params[:'exclude_fields'] = opts[:'exclude_fields'] if !opts[:'exclude_fields'].nil?
|
|
253
|
+
query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil?
|
|
254
|
+
query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil?
|
|
241
255
|
|
|
242
256
|
# header parameters
|
|
243
257
|
header_params = opts[:header_params] || {}
|
|
244
258
|
# HTTP header 'Accept' (if needed)
|
|
245
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
259
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
246
260
|
|
|
247
261
|
# form parameters
|
|
248
262
|
form_params = opts[:form_params] || {}
|
|
249
263
|
|
|
250
264
|
# http body (model)
|
|
251
|
-
post_body = opts[:
|
|
265
|
+
post_body = opts[:debug_body]
|
|
252
266
|
|
|
253
267
|
# return_type
|
|
254
|
-
return_type = opts[:
|
|
268
|
+
return_type = opts[:debug_return_type] || 'RepositoryVersionResponse'
|
|
255
269
|
|
|
256
270
|
# auth_names
|
|
257
|
-
auth_names = opts[:
|
|
271
|
+
auth_names = opts[:debug_auth_names] || ['basicAuth']
|
|
258
272
|
|
|
259
273
|
new_options = opts.merge(
|
|
274
|
+
:operation => :"RepositoriesNpmVersionsApi.read",
|
|
260
275
|
:header_params => header_params,
|
|
261
276
|
:query_params => query_params,
|
|
262
277
|
:form_params => form_params,
|
|
@@ -308,23 +323,27 @@ module PulpNpmClient
|
|
|
308
323
|
# header parameters
|
|
309
324
|
header_params = opts[:header_params] || {}
|
|
310
325
|
# HTTP header 'Accept' (if needed)
|
|
311
|
-
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
326
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
312
327
|
# HTTP header 'Content-Type'
|
|
313
|
-
|
|
328
|
+
content_type = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
|
|
329
|
+
if !content_type.nil?
|
|
330
|
+
header_params['Content-Type'] = content_type
|
|
331
|
+
end
|
|
314
332
|
|
|
315
333
|
# form parameters
|
|
316
334
|
form_params = opts[:form_params] || {}
|
|
317
335
|
|
|
318
336
|
# http body (model)
|
|
319
|
-
post_body = opts[:
|
|
337
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(repair)
|
|
320
338
|
|
|
321
339
|
# return_type
|
|
322
|
-
return_type = opts[:
|
|
340
|
+
return_type = opts[:debug_return_type] || 'AsyncOperationResponse'
|
|
323
341
|
|
|
324
342
|
# auth_names
|
|
325
|
-
auth_names = opts[:
|
|
343
|
+
auth_names = opts[:debug_auth_names] || ['basicAuth']
|
|
326
344
|
|
|
327
345
|
new_options = opts.merge(
|
|
346
|
+
:operation => :"RepositoriesNpmVersionsApi.repair",
|
|
328
347
|
:header_params => header_params,
|
|
329
348
|
:query_params => query_params,
|
|
330
349
|
:form_params => form_params,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: v3
|
|
7
7
|
Contact: pulp-list@redhat.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.10.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,7 +14,12 @@ require 'date'
|
|
|
14
14
|
require 'json'
|
|
15
15
|
require 'logger'
|
|
16
16
|
require 'tempfile'
|
|
17
|
+
require 'time'
|
|
17
18
|
require 'faraday'
|
|
19
|
+
require 'faraday/multipart' if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
|
|
20
|
+
require 'marcel'
|
|
21
|
+
require 'pathname'
|
|
22
|
+
|
|
18
23
|
|
|
19
24
|
module PulpNpmClient
|
|
20
25
|
class ApiClient
|
|
@@ -46,51 +51,38 @@ module PulpNpmClient
|
|
|
46
51
|
# @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
|
|
47
52
|
# the data deserialized from response body (could be nil), response status code and response headers.
|
|
48
53
|
def call_api(http_method, path, opts = {})
|
|
49
|
-
|
|
50
|
-
:ca_file => @config.ssl_ca_file,
|
|
51
|
-
:verify => @config.ssl_verify,
|
|
52
|
-
:verify_mode => @config.ssl_verify_mode,
|
|
53
|
-
:client_cert => @config.ssl_client_cert,
|
|
54
|
-
:client_key => @config.ssl_client_key
|
|
55
|
-
}
|
|
56
|
-
request_options = {
|
|
57
|
-
:params_encoder => @config.params_encoder
|
|
58
|
-
}
|
|
59
|
-
connection = Faraday.new(:url => config.base_url, :ssl => ssl_options, :request => request_options) do |conn|
|
|
60
|
-
conn.basic_auth(config.username, config.password)
|
|
61
|
-
if opts[:header_params]["Content-Type"] == "multipart/form-data"
|
|
62
|
-
conn.request :multipart
|
|
63
|
-
conn.request :url_encoded
|
|
64
|
-
end
|
|
65
|
-
conn.adapter(Faraday.default_adapter)
|
|
66
|
-
end
|
|
67
|
-
|
|
54
|
+
stream = nil
|
|
68
55
|
begin
|
|
69
|
-
response = connection.public_send(http_method.to_sym.downcase) do |req|
|
|
70
|
-
build_request(http_method, path, req, opts)
|
|
56
|
+
response = connection(opts).public_send(http_method.to_sym.downcase) do |req|
|
|
57
|
+
request = build_request(http_method, path, req, opts)
|
|
58
|
+
stream = download_file(request) if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
|
|
71
59
|
end
|
|
72
60
|
|
|
73
|
-
if
|
|
74
|
-
|
|
61
|
+
if config.debugging
|
|
62
|
+
config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
|
|
75
63
|
end
|
|
76
64
|
|
|
77
65
|
unless response.success?
|
|
78
|
-
if response.status == 0
|
|
66
|
+
if response.status == 0 && response.respond_to?(:return_message)
|
|
79
67
|
# Errors from libcurl will be made visible here
|
|
80
|
-
fail ApiError.new(:
|
|
81
|
-
:
|
|
68
|
+
fail ApiError.new(code: 0,
|
|
69
|
+
message: response.return_message)
|
|
82
70
|
else
|
|
83
|
-
fail ApiError.new(:
|
|
84
|
-
:
|
|
85
|
-
:
|
|
71
|
+
fail ApiError.new(code: response.status,
|
|
72
|
+
response_headers: response.headers,
|
|
73
|
+
response_body: response.body),
|
|
86
74
|
response.reason_phrase
|
|
87
75
|
end
|
|
88
76
|
end
|
|
89
77
|
rescue Faraday::TimeoutError
|
|
90
78
|
fail ApiError.new('Connection timed out')
|
|
79
|
+
rescue Faraday::ConnectionFailed
|
|
80
|
+
fail ApiError.new('Connection failed')
|
|
91
81
|
end
|
|
92
82
|
|
|
93
|
-
if opts[:return_type]
|
|
83
|
+
if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
|
|
84
|
+
data = deserialize_file(response, stream)
|
|
85
|
+
elsif opts[:return_type]
|
|
94
86
|
data = deserialize(response, opts[:return_type])
|
|
95
87
|
else
|
|
96
88
|
data = nil
|
|
@@ -106,9 +98,9 @@ module PulpNpmClient
|
|
|
106
98
|
# @option opts [Hash] :query_params Query parameters
|
|
107
99
|
# @option opts [Hash] :form_params Query parameters
|
|
108
100
|
# @option opts [Object] :body HTTP body (JSON/XML)
|
|
109
|
-
# @return [
|
|
101
|
+
# @return [Faraday::Request] A Faraday Request
|
|
110
102
|
def build_request(http_method, path, request, opts = {})
|
|
111
|
-
url = build_request_url(path)
|
|
103
|
+
url = build_request_url(path, opts)
|
|
112
104
|
http_method = http_method.to_sym.downcase
|
|
113
105
|
|
|
114
106
|
header_params = @default_headers.merge(opts[:header_params] || {})
|
|
@@ -117,24 +109,21 @@ module PulpNpmClient
|
|
|
117
109
|
|
|
118
110
|
update_params_for_auth! header_params, query_params, opts[:auth_names]
|
|
119
111
|
|
|
120
|
-
req_opts = {
|
|
121
|
-
:params_encoding => @config.params_encoding,
|
|
122
|
-
:timeout => @config.timeout,
|
|
123
|
-
:verbose => @config.debugging
|
|
124
|
-
}
|
|
125
|
-
|
|
126
112
|
if [:post, :patch, :put, :delete].include?(http_method)
|
|
127
113
|
req_body = build_request_body(header_params, form_params, opts[:body])
|
|
128
|
-
if
|
|
129
|
-
|
|
114
|
+
if config.debugging
|
|
115
|
+
config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
|
|
130
116
|
end
|
|
131
117
|
end
|
|
132
118
|
request.headers = header_params
|
|
133
119
|
request.body = req_body
|
|
134
|
-
|
|
120
|
+
|
|
121
|
+
# Overload default options only if provided
|
|
122
|
+
request.options.params_encoder = config.params_encoder if config.params_encoder
|
|
123
|
+
request.options.timeout = config.timeout if config.timeout
|
|
124
|
+
|
|
135
125
|
request.url url
|
|
136
126
|
request.params = query_params
|
|
137
|
-
download_file(request) if opts[:return_type] == 'File'
|
|
138
127
|
request
|
|
139
128
|
end
|
|
140
129
|
|
|
@@ -153,8 +142,7 @@ module PulpNpmClient
|
|
|
153
142
|
form_params.each do |key, value|
|
|
154
143
|
case value
|
|
155
144
|
when ::File, ::Tempfile
|
|
156
|
-
|
|
157
|
-
data[key] = Faraday::UploadIO.new(value.path, 'application/octet-stream', value.path)
|
|
145
|
+
data[key] = Faraday::FilePart.new(value.path, Marcel::MimeType.for(Pathname.new(value.path)))
|
|
158
146
|
when ::Array, nil
|
|
159
147
|
# let Faraday handle Array and nil parameters
|
|
160
148
|
data[key] = value
|
|
@@ -170,6 +158,95 @@ module PulpNpmClient
|
|
|
170
158
|
data
|
|
171
159
|
end
|
|
172
160
|
|
|
161
|
+
def download_file(request)
|
|
162
|
+
stream = []
|
|
163
|
+
|
|
164
|
+
# handle streaming Responses
|
|
165
|
+
request.options.on_data = Proc.new do |chunk, overall_received_bytes|
|
|
166
|
+
stream << chunk
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
stream
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def deserialize_file(response, stream)
|
|
173
|
+
body = response.body
|
|
174
|
+
encoding = body.encoding
|
|
175
|
+
|
|
176
|
+
# reconstruct content
|
|
177
|
+
content = stream.join
|
|
178
|
+
content = content.unpack('m').join if response.headers['Content-Transfer-Encoding'] == 'binary'
|
|
179
|
+
content = content.force_encoding(encoding)
|
|
180
|
+
|
|
181
|
+
# return byte stream
|
|
182
|
+
return content if @config.return_binary_data == true
|
|
183
|
+
|
|
184
|
+
# return file instead of binary data
|
|
185
|
+
content_disposition = response.headers['Content-Disposition']
|
|
186
|
+
if content_disposition && content_disposition =~ /filename=/i
|
|
187
|
+
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
|
188
|
+
prefix = sanitize_filename(filename)
|
|
189
|
+
else
|
|
190
|
+
prefix = 'download-'
|
|
191
|
+
end
|
|
192
|
+
prefix = prefix + '-' unless prefix.end_with?('-')
|
|
193
|
+
|
|
194
|
+
tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
|
|
195
|
+
tempfile.write(content)
|
|
196
|
+
tempfile.close
|
|
197
|
+
|
|
198
|
+
config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
199
|
+
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
200
|
+
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
201
|
+
"explicitly with `tempfile.delete`"
|
|
202
|
+
tempfile
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def connection(opts)
|
|
206
|
+
opts[:header_params]['Content-Type'] == 'multipart/form-data' ? connection_multipart : connection_regular
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def connection_multipart
|
|
210
|
+
@connection_multipart ||= build_connection do |conn|
|
|
211
|
+
conn.request :multipart
|
|
212
|
+
conn.request :url_encoded
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
def connection_regular
|
|
217
|
+
@connection_regular ||= build_connection
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
def build_connection
|
|
221
|
+
Faraday.new(url: config.base_url, ssl: ssl_options, proxy: config.proxy) do |conn|
|
|
222
|
+
basic_auth(conn)
|
|
223
|
+
config.configure_middleware(conn)
|
|
224
|
+
yield(conn) if block_given?
|
|
225
|
+
conn.adapter(Faraday.default_adapter)
|
|
226
|
+
config.configure_connection(conn)
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
def ssl_options
|
|
231
|
+
{
|
|
232
|
+
ca_file: config.ssl_ca_file,
|
|
233
|
+
verify: config.ssl_verify,
|
|
234
|
+
verify_mode: config.ssl_verify_mode,
|
|
235
|
+
client_cert: config.ssl_client_cert,
|
|
236
|
+
client_key: config.ssl_client_key
|
|
237
|
+
}
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
def basic_auth(conn)
|
|
241
|
+
if config.username && config.password
|
|
242
|
+
if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
|
|
243
|
+
conn.request(:authorization, :basic, config.username, config.password)
|
|
244
|
+
else
|
|
245
|
+
conn.request(:basic_auth, config.username, config.password)
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
173
250
|
# Check if the given MIME is a JSON MIME.
|
|
174
251
|
# JSON MIME examples:
|
|
175
252
|
# application/json
|
|
@@ -179,7 +256,7 @@ module PulpNpmClient
|
|
|
179
256
|
# @param [String] mime MIME
|
|
180
257
|
# @return [Boolean] True if the MIME is application/json
|
|
181
258
|
def json_mime?(mime)
|
|
182
|
-
(mime == '*/*') || !(mime =~
|
|
259
|
+
(mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil?
|
|
183
260
|
end
|
|
184
261
|
|
|
185
262
|
# Deserialize the response to the given return type.
|
|
@@ -188,15 +265,10 @@ module PulpNpmClient
|
|
|
188
265
|
# @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
|
|
189
266
|
def deserialize(response, return_type)
|
|
190
267
|
body = response.body
|
|
191
|
-
|
|
192
|
-
# handle file downloading - return the File instance processed in request callbacks
|
|
193
|
-
# note that response body is empty when the file is written in chunks in request on_body callback
|
|
194
|
-
return @tempfile if return_type == 'File'
|
|
195
|
-
|
|
196
268
|
return nil if body.nil? || body.empty?
|
|
197
269
|
|
|
198
270
|
# return response body directly for String return type
|
|
199
|
-
return body if return_type == 'String'
|
|
271
|
+
return body.to_s if return_type == 'String'
|
|
200
272
|
|
|
201
273
|
# ensuring a default content type
|
|
202
274
|
content_type = response.headers['Content-Type'] || 'application/json'
|
|
@@ -206,7 +278,7 @@ module PulpNpmClient
|
|
|
206
278
|
begin
|
|
207
279
|
data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
|
|
208
280
|
rescue JSON::ParserError => e
|
|
209
|
-
if %w(String Date
|
|
281
|
+
if %w(String Date Time).include?(return_type)
|
|
210
282
|
data = body
|
|
211
283
|
else
|
|
212
284
|
raise e
|
|
@@ -231,9 +303,9 @@ module PulpNpmClient
|
|
|
231
303
|
data.to_f
|
|
232
304
|
when 'Boolean'
|
|
233
305
|
data == true
|
|
234
|
-
when '
|
|
306
|
+
when 'Time'
|
|
235
307
|
# parse date time (expecting ISO 8601 format)
|
|
236
|
-
|
|
308
|
+
Time.parse data
|
|
237
309
|
when 'Date'
|
|
238
310
|
# parse date time (expecting ISO 8601 format)
|
|
239
311
|
Date.parse data
|
|
@@ -251,46 +323,9 @@ module PulpNpmClient
|
|
|
251
323
|
data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
|
|
252
324
|
end
|
|
253
325
|
else
|
|
254
|
-
# models
|
|
255
|
-
PulpNpmClient.const_get(return_type)
|
|
256
|
-
|
|
257
|
-
end
|
|
258
|
-
|
|
259
|
-
# Save response body into a file in (the defined) temporary folder, using the filename
|
|
260
|
-
# from the "Content-Disposition" header if provided, otherwise a random filename.
|
|
261
|
-
# The response body is written to the file in chunks in order to handle files which
|
|
262
|
-
# size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
|
|
263
|
-
# process can use.
|
|
264
|
-
#
|
|
265
|
-
# @see Configuration#temp_folder_path
|
|
266
|
-
def download_file(request)
|
|
267
|
-
tempfile = nil
|
|
268
|
-
encoding = nil
|
|
269
|
-
request.on_headers do |response|
|
|
270
|
-
content_disposition = response.headers['Content-Disposition']
|
|
271
|
-
if content_disposition && content_disposition =~ /filename=/i
|
|
272
|
-
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
|
273
|
-
prefix = sanitize_filename(filename)
|
|
274
|
-
else
|
|
275
|
-
prefix = 'download-'
|
|
276
|
-
end
|
|
277
|
-
prefix = prefix + '-' unless prefix.end_with?('-')
|
|
278
|
-
encoding = response.body.encoding
|
|
279
|
-
tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
|
|
280
|
-
@tempfile = tempfile
|
|
281
|
-
end
|
|
282
|
-
request.on_body do |chunk|
|
|
283
|
-
chunk.force_encoding(encoding)
|
|
284
|
-
tempfile.write(chunk)
|
|
285
|
-
end
|
|
286
|
-
request.on_complete do |response|
|
|
287
|
-
if tempfile
|
|
288
|
-
tempfile.close
|
|
289
|
-
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
290
|
-
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
291
|
-
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
292
|
-
"explicitly with `tempfile.delete`"
|
|
293
|
-
end
|
|
326
|
+
# models (e.g. Pet) or oneOf
|
|
327
|
+
klass = PulpNpmClient.const_get(return_type)
|
|
328
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
|
|
294
329
|
end
|
|
295
330
|
end
|
|
296
331
|
|
|
@@ -300,16 +335,16 @@ module PulpNpmClient
|
|
|
300
335
|
# @param [String] filename the filename to be sanitized
|
|
301
336
|
# @return [String] the sanitized filename
|
|
302
337
|
def sanitize_filename(filename)
|
|
303
|
-
filename.
|
|
338
|
+
filename.split(/[\/\\]/).last
|
|
304
339
|
end
|
|
305
340
|
|
|
306
|
-
def build_request_url(path)
|
|
341
|
+
def build_request_url(path, opts = {})
|
|
307
342
|
# Add leading and trailing slashes to path
|
|
308
343
|
path = "/#{path}".gsub(/\/+/, '/')
|
|
309
|
-
@config.base_url + path
|
|
344
|
+
@config.base_url(opts[:operation]) + path
|
|
310
345
|
end
|
|
311
346
|
|
|
312
|
-
# Update
|
|
347
|
+
# Update header and query params based on authentication settings.
|
|
313
348
|
#
|
|
314
349
|
# @param [Hash] header_params Header parameters
|
|
315
350
|
# @param [Hash] query_params Query parameters
|
|
@@ -321,7 +356,7 @@ module PulpNpmClient
|
|
|
321
356
|
case auth_setting[:in]
|
|
322
357
|
when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
|
|
323
358
|
when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
|
|
324
|
-
else fail ArgumentError, 'Authentication token must be in `query`
|
|
359
|
+
else fail ArgumentError, 'Authentication token must be in `query` or `header`'
|
|
325
360
|
end
|
|
326
361
|
end
|
|
327
362
|
end
|
|
@@ -348,8 +383,8 @@ module PulpNpmClient
|
|
|
348
383
|
# @param [Array] content_types array for Content-Type
|
|
349
384
|
# @return [String] the Content-Type header (e.g. application/json)
|
|
350
385
|
def select_header_content_type(content_types)
|
|
351
|
-
#
|
|
352
|
-
return
|
|
386
|
+
# return nil by default
|
|
387
|
+
return if content_types.nil? || content_types.empty?
|
|
353
388
|
# use JSON when present, otherwise use the first one
|
|
354
389
|
json_content_type = content_types.find { |s| json_mime?(s) }
|
|
355
390
|
json_content_type || content_types.first
|