mux_ruby 1.9.0 → 2.0.0.pre.rc.1
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/Gemfile +3 -1
- data/Gemfile.lock +26 -37
- data/README.md +36 -13
- data/docs/AbridgedVideoView.md +33 -13
- data/docs/Asset.md +57 -26
- data/docs/AssetErrors.md +15 -4
- data/docs/AssetMaster.md +15 -4
- data/docs/AssetNonStandardInputReasons.md +29 -11
- data/docs/AssetRecordingTimes.md +15 -4
- data/docs/AssetResponse.md +13 -3
- data/docs/AssetStaticRenditions.md +15 -4
- data/docs/AssetStaticRenditionsFiles.md +23 -8
- data/docs/AssetsApi.md +387 -160
- data/docs/BreakdownValue.md +21 -7
- data/docs/CreateAssetRequest.md +27 -10
- data/docs/CreateLiveStreamRequest.md +25 -9
- data/docs/CreatePlaybackIDRequest.md +13 -3
- data/docs/CreatePlaybackIDResponse.md +13 -3
- data/docs/CreateSimulcastTargetRequest.md +17 -5
- data/docs/CreateTrackRequest.md +25 -9
- data/docs/CreateTrackResponse.md +13 -3
- data/docs/CreateUploadRequest.md +19 -6
- data/docs/DeliveryReport.md +27 -9
- data/docs/DeliveryUsageApi.md +40 -22
- data/docs/DimensionValue.md +15 -4
- data/docs/DimensionsApi.md +72 -34
- data/docs/DirectUploadsApi.md +131 -56
- data/docs/DisableLiveStreamResponse.md +13 -3
- data/docs/EnableLiveStreamResponse.md +13 -3
- data/docs/Error.md +27 -10
- data/docs/ErrorsApi.md +37 -19
- data/docs/ExportsApi.md +32 -13
- data/docs/FilterValue.md +15 -4
- data/docs/FiltersApi.md +71 -33
- data/docs/GetAssetInputInfoResponse.md +13 -3
- data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
- data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
- data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
- data/docs/GetAssetPlaybackIDResponse.md +13 -3
- data/docs/GetMetricTimeseriesDataResponse.md +17 -5
- data/docs/GetOverallValuesResponse.md +17 -5
- data/docs/GetRealTimeBreakdownResponse.md +17 -5
- data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
- data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
- data/docs/GetRealTimeTimeseriesResponse.md +17 -5
- data/docs/Incident.md +53 -23
- data/docs/IncidentBreakdown.md +17 -5
- data/docs/IncidentNotification.md +17 -5
- data/docs/IncidentNotificationRule.md +21 -7
- data/docs/IncidentResponse.md +15 -4
- data/docs/IncidentsApi.md +115 -59
- data/docs/InputFile.md +15 -4
- data/docs/InputInfo.md +15 -4
- data/docs/InputSettings.md +31 -12
- data/docs/InputSettingsOverlaySettings.md +25 -9
- data/docs/InputTrack.md +29 -11
- data/docs/Insight.md +23 -8
- data/docs/ListAllMetricValuesResponse.md +17 -5
- data/docs/ListAssetsResponse.md +13 -3
- data/docs/ListBreakdownValuesResponse.md +17 -5
- data/docs/ListDeliveryUsageResponse.md +19 -6
- data/docs/ListDimensionValuesResponse.md +17 -5
- data/docs/ListDimensionsResponse.md +17 -5
- data/docs/ListErrorsResponse.md +17 -5
- data/docs/ListExportsResponse.md +17 -5
- data/docs/ListFilterValuesResponse.md +17 -5
- data/docs/ListFiltersResponse.md +17 -5
- data/docs/ListFiltersResponseData.md +15 -4
- data/docs/ListIncidentsResponse.md +17 -5
- data/docs/ListInsightsResponse.md +17 -5
- data/docs/ListLiveStreamsResponse.md +13 -3
- data/docs/ListRealTimeDimensionsResponse.md +17 -5
- data/docs/ListRealTimeDimensionsResponseData.md +15 -4
- data/docs/ListRealTimeMetricsResponse.md +17 -5
- data/docs/ListRelatedIncidentsResponse.md +17 -5
- data/docs/ListSigningKeysResponse.md +13 -3
- data/docs/ListUploadsResponse.md +13 -3
- data/docs/ListVideoViewsResponse.md +17 -5
- data/docs/LiveStream.md +37 -15
- data/docs/LiveStreamResponse.md +13 -3
- data/docs/LiveStreamsApi.md +418 -170
- data/docs/Metric.md +21 -7
- data/docs/MetricsApi.md +206 -112
- data/docs/NotificationRule.md +17 -5
- data/docs/OverallValues.md +19 -6
- data/docs/PlaybackID.md +15 -4
- data/docs/PlaybackIDApi.md +34 -16
- data/docs/PlaybackPolicy.md +10 -2
- data/docs/RealTimeApi.md +172 -76
- data/docs/RealTimeBreakdownValue.md +21 -7
- data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
- data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
- data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
- data/docs/RealTimeTimeseriesDatapoint.md +17 -5
- data/docs/Score.md +23 -8
- data/docs/SignalLiveStreamCompleteResponse.md +13 -3
- data/docs/SigningKey.md +17 -5
- data/docs/SigningKeyResponse.md +13 -3
- data/docs/SimulcastTarget.md +21 -7
- data/docs/SimulcastTargetResponse.md +13 -3
- data/docs/Track.md +37 -15
- data/docs/URLSigningKeysApi.md +127 -51
- data/docs/UpdateAssetMP4SupportRequest.md +13 -3
- data/docs/UpdateAssetMasterAccessRequest.md +13 -3
- data/docs/Upload.md +29 -11
- data/docs/UploadError.md +15 -4
- data/docs/UploadResponse.md +13 -3
- data/docs/VideoView.md +235 -114
- data/docs/VideoViewEvent.md +19 -6
- data/docs/VideoViewResponse.md +15 -4
- data/docs/VideoViewsApi.md +76 -39
- data/gen/.gitignore +7 -0
- data/gen/Makefile +31 -0
- data/gen/generator-config.json +11 -0
- data/gen/openapitools.json +7 -0
- data/gen/package.json +17 -0
- data/gen/templates/Gemfile.mustache +11 -0
- data/gen/templates/README.mustache +158 -0
- data/gen/templates/Rakefile.mustache +10 -0
- data/gen/templates/api.mustache +206 -0
- data/gen/templates/api_client.mustache +264 -0
- data/gen/templates/api_client_faraday_partial.mustache +138 -0
- data/gen/templates/api_client_spec.mustache +220 -0
- data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
- data/gen/templates/api_doc.mustache +118 -0
- data/gen/templates/api_error.mustache +67 -0
- data/gen/templates/api_info.mustache +12 -0
- data/gen/templates/api_test.mustache +47 -0
- data/gen/templates/base_object.mustache +120 -0
- data/gen/templates/configuration.mustache +349 -0
- data/gen/templates/configuration_spec.mustache +34 -0
- data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
- data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
- data/gen/templates/gem.mustache +40 -0
- data/gen/templates/gemspec.mustache +35 -0
- data/gen/templates/gitignore.mustache +39 -0
- data/gen/templates/model.mustache +26 -0
- data/gen/templates/model_doc.mustache +12 -0
- data/gen/templates/model_test.mustache +77 -0
- data/gen/templates/partial_model_enum_class.mustache +20 -0
- data/gen/templates/partial_model_generic.mustache +371 -0
- data/gen/templates/partial_model_generic_doc.mustache +28 -0
- data/gen/templates/partial_oneof_module.mustache +137 -0
- data/gen/templates/partial_oneof_module_doc.mustache +92 -0
- data/gen/templates/rspec.mustache +2 -0
- data/gen/templates/rubocop.mustache +148 -0
- data/gen/templates/spec_helper.mustache +103 -0
- data/gen/templates/version.mustache +7 -0
- data/gen/yarn.lock +1878 -0
- data/lib/mux_ruby.rb +9 -2
- data/lib/mux_ruby/api/assets_api.rb +279 -150
- data/lib/mux_ruby/api/delivery_usage_api.rb +28 -12
- data/lib/mux_ruby/api/dimensions_api.rb +55 -29
- data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
- data/lib/mux_ruby/api/errors_api.rb +32 -16
- data/lib/mux_ruby/api/exports_api.rb +28 -12
- data/lib/mux_ruby/api/filters_api.rb +53 -27
- data/lib/mux_ruby/api/incidents_api.rb +88 -46
- data/lib/mux_ruby/api/live_streams_api.rb +299 -157
- data/lib/mux_ruby/api/metrics_api.rb +175 -104
- data/lib/mux_ruby/api/playback_id_api.rb +31 -15
- data/lib/mux_ruby/api/real_time_api.rb +139 -77
- data/lib/mux_ruby/api/url_signing_keys_api.rb +89 -42
- data/lib/mux_ruby/api/video_views_api.rb +56 -29
- data/lib/mux_ruby/api_client.rb +94 -79
- data/lib/mux_ruby/api_error.rb +35 -7
- data/lib/mux_ruby/configuration.rb +50 -14
- data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
- data/lib/mux_ruby/models/asset.rb +88 -61
- data/lib/mux_ruby/models/asset_errors.rb +50 -15
- data/lib/mux_ruby/models/asset_master.rb +52 -17
- data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
- data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
- data/lib/mux_ruby/models/asset_response.rb +48 -14
- data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
- data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
- data/lib/mux_ruby/models/breakdown_value.rb +52 -18
- data/lib/mux_ruby/models/create_asset_request.rb +64 -30
- data/lib/mux_ruby/models/create_live_stream_request.rb +57 -22
- data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
- data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
- data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
- data/lib/mux_ruby/models/create_track_request.rb +59 -25
- data/lib/mux_ruby/models/create_track_response.rb +48 -14
- data/lib/mux_ruby/models/create_upload_request.rb +52 -18
- data/lib/mux_ruby/models/delivery_report.rb +106 -21
- data/lib/mux_ruby/models/dimension_value.rb +49 -15
- data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/error.rb +63 -21
- data/lib/mux_ruby/models/filter_value.rb +49 -15
- data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
- data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
- data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
- data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
- data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
- data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
- data/lib/mux_ruby/models/incident.rb +68 -34
- data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
- data/lib/mux_ruby/models/incident_notification.rb +50 -16
- data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
- data/lib/mux_ruby/models/incident_response.rb +49 -15
- data/lib/mux_ruby/models/input_file.rb +49 -15
- data/lib/mux_ruby/models/input_info.rb +49 -15
- data/lib/mux_ruby/models/input_settings.rb +64 -30
- data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
- data/lib/mux_ruby/models/input_track.rb +56 -22
- data/lib/mux_ruby/models/insight.rb +53 -19
- data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_assets_response.rb +48 -14
- data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
- data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
- data/lib/mux_ruby/models/list_errors_response.rb +50 -16
- data/lib/mux_ruby/models/list_exports_response.rb +50 -16
- data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_filters_response.rb +50 -16
- data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
- data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
- data/lib/mux_ruby/models/list_insights_response.rb +50 -16
- data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
- data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
- data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
- data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
- data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
- data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
- data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
- data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
- data/lib/mux_ruby/models/live_stream.rb +110 -28
- data/lib/mux_ruby/models/live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/metric.rb +52 -18
- data/lib/mux_ruby/models/notification_rule.rb +50 -16
- data/lib/mux_ruby/models/overall_values.rb +51 -17
- data/lib/mux_ruby/models/playback_id.rb +49 -15
- data/lib/mux_ruby/models/playback_policy.rb +12 -6
- data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
- data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
- data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
- data/lib/mux_ruby/models/score.rb +53 -19
- data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
- data/lib/mux_ruby/models/signing_key.rb +53 -16
- data/lib/mux_ruby/models/signing_key_response.rb +48 -14
- data/lib/mux_ruby/models/simulcast_target.rb +54 -20
- data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
- data/lib/mux_ruby/models/track.rb +67 -33
- data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
- data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
- data/lib/mux_ruby/models/upload.rb +61 -25
- data/lib/mux_ruby/models/upload_error.rb +51 -15
- data/lib/mux_ruby/models/upload_response.rb +48 -14
- data/lib/mux_ruby/models/video_view.rb +166 -132
- data/lib/mux_ruby/models/video_view_event.rb +51 -17
- data/lib/mux_ruby/models/video_view_response.rb +49 -15
- data/lib/mux_ruby/version.rb +10 -3
- data/mux_ruby.gemspec +15 -17
- data/spec/api_client_spec.rb +10 -3
- data/spec/configuration_spec.rb +9 -2
- data/spec/spec_helper.rb +9 -2
- metadata +139 -242
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#
|
|
3
|
-
|
|
2
|
+
#Mux API
|
|
3
|
+
|
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.0.1
|
|
10
|
+
|
|
4
11
|
=end
|
|
5
12
|
|
|
6
|
-
require '
|
|
13
|
+
require 'cgi'
|
|
7
14
|
|
|
8
15
|
module MuxRuby
|
|
9
16
|
class URLSigningKeysApi
|
|
@@ -24,7 +31,7 @@ module MuxRuby
|
|
|
24
31
|
# Create a URL signing key
|
|
25
32
|
# Creates a new signing key pair. When creating a new signing key, the API will generate a 2048-bit RSA key-pair and return the private key and a generated key-id; the public key will be stored at Mux to validate signed tokens.
|
|
26
33
|
# @param [Hash] opts the optional parameters
|
|
27
|
-
# @return [Array<(SigningKeyResponse,
|
|
34
|
+
# @return [Array<(SigningKeyResponse, Integer, Hash)>] SigningKeyResponse data, response status code and response headers
|
|
28
35
|
def create_url_signing_key_with_http_info(opts = {})
|
|
29
36
|
if @api_client.config.debugging
|
|
30
37
|
@api_client.config.logger.debug 'Calling API: URLSigningKeysApi.create_url_signing_key ...'
|
|
@@ -33,26 +40,36 @@ module MuxRuby
|
|
|
33
40
|
local_var_path = '/video/v1/signing-keys'
|
|
34
41
|
|
|
35
42
|
# query parameters
|
|
36
|
-
query_params = {}
|
|
43
|
+
query_params = opts[:query_params] || {}
|
|
37
44
|
|
|
38
45
|
# header parameters
|
|
39
|
-
header_params = {}
|
|
46
|
+
header_params = opts[:header_params] || {}
|
|
40
47
|
# HTTP header 'Accept' (if needed)
|
|
41
48
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
42
49
|
|
|
43
50
|
# form parameters
|
|
44
|
-
form_params = {}
|
|
51
|
+
form_params = opts[:form_params] || {}
|
|
45
52
|
|
|
46
53
|
# http body (model)
|
|
47
|
-
post_body =
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
post_body = opts[:debug_body]
|
|
55
|
+
|
|
56
|
+
# return_type
|
|
57
|
+
return_type = opts[:debug_return_type] || 'SigningKeyResponse'
|
|
58
|
+
|
|
59
|
+
# auth_names
|
|
60
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
61
|
+
|
|
62
|
+
new_options = opts.merge(
|
|
63
|
+
:operation => :"URLSigningKeysApi.create_url_signing_key",
|
|
50
64
|
:header_params => header_params,
|
|
51
65
|
:query_params => query_params,
|
|
52
66
|
:form_params => form_params,
|
|
53
67
|
:body => post_body,
|
|
54
68
|
:auth_names => auth_names,
|
|
55
|
-
:return_type =>
|
|
69
|
+
:return_type => return_type
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
56
73
|
if @api_client.config.debugging
|
|
57
74
|
@api_client.config.logger.debug "API called: URLSigningKeysApi#create_url_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
58
75
|
end
|
|
@@ -61,7 +78,7 @@ module MuxRuby
|
|
|
61
78
|
|
|
62
79
|
# Delete a URL signing key
|
|
63
80
|
# Deletes an existing signing key. Use with caution, as this will invalidate any existing signatures and no URLs can be signed using the key again.
|
|
64
|
-
# @param signing_key_id The ID of the signing key.
|
|
81
|
+
# @param signing_key_id [String] The ID of the signing key.
|
|
65
82
|
# @param [Hash] opts the optional parameters
|
|
66
83
|
# @return [nil]
|
|
67
84
|
def delete_url_signing_key(signing_key_id, opts = {})
|
|
@@ -71,9 +88,9 @@ module MuxRuby
|
|
|
71
88
|
|
|
72
89
|
# Delete a URL signing key
|
|
73
90
|
# Deletes an existing signing key. Use with caution, as this will invalidate any existing signatures and no URLs can be signed using the key again.
|
|
74
|
-
# @param signing_key_id The ID of the signing key.
|
|
91
|
+
# @param signing_key_id [String] The ID of the signing key.
|
|
75
92
|
# @param [Hash] opts the optional parameters
|
|
76
|
-
# @return [Array<(nil,
|
|
93
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
77
94
|
def delete_url_signing_key_with_http_info(signing_key_id, opts = {})
|
|
78
95
|
if @api_client.config.debugging
|
|
79
96
|
@api_client.config.logger.debug 'Calling API: URLSigningKeysApi.delete_url_signing_key ...'
|
|
@@ -83,26 +100,37 @@ module MuxRuby
|
|
|
83
100
|
fail ArgumentError, "Missing the required parameter 'signing_key_id' when calling URLSigningKeysApi.delete_url_signing_key"
|
|
84
101
|
end
|
|
85
102
|
# resource path
|
|
86
|
-
local_var_path = '/video/v1/signing-keys/{SIGNING_KEY_ID}'.sub('{' + 'SIGNING_KEY_ID' + '}', signing_key_id.to_s)
|
|
103
|
+
local_var_path = '/video/v1/signing-keys/{SIGNING_KEY_ID}'.sub('{' + 'SIGNING_KEY_ID' + '}', CGI.escape(signing_key_id.to_s))
|
|
87
104
|
|
|
88
105
|
# query parameters
|
|
89
|
-
query_params = {}
|
|
106
|
+
query_params = opts[:query_params] || {}
|
|
90
107
|
|
|
91
108
|
# header parameters
|
|
92
|
-
header_params = {}
|
|
109
|
+
header_params = opts[:header_params] || {}
|
|
93
110
|
|
|
94
111
|
# form parameters
|
|
95
|
-
form_params = {}
|
|
112
|
+
form_params = opts[:form_params] || {}
|
|
96
113
|
|
|
97
114
|
# http body (model)
|
|
98
|
-
post_body =
|
|
99
|
-
|
|
100
|
-
|
|
115
|
+
post_body = opts[:debug_body]
|
|
116
|
+
|
|
117
|
+
# return_type
|
|
118
|
+
return_type = opts[:debug_return_type]
|
|
119
|
+
|
|
120
|
+
# auth_names
|
|
121
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
122
|
+
|
|
123
|
+
new_options = opts.merge(
|
|
124
|
+
:operation => :"URLSigningKeysApi.delete_url_signing_key",
|
|
101
125
|
:header_params => header_params,
|
|
102
126
|
:query_params => query_params,
|
|
103
127
|
:form_params => form_params,
|
|
104
128
|
:body => post_body,
|
|
105
|
-
:auth_names => auth_names
|
|
129
|
+
:auth_names => auth_names,
|
|
130
|
+
:return_type => return_type
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
106
134
|
if @api_client.config.debugging
|
|
107
135
|
@api_client.config.logger.debug "API called: URLSigningKeysApi#delete_url_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
108
136
|
end
|
|
@@ -111,7 +139,7 @@ module MuxRuby
|
|
|
111
139
|
|
|
112
140
|
# Retrieve a URL signing key
|
|
113
141
|
# Retrieves the details of a URL signing key that has previously been created. Supply the unique signing key ID that was returned from your previous request, and Mux will return the corresponding signing key information. **The private key is not returned in this response.**
|
|
114
|
-
# @param signing_key_id The ID of the signing key.
|
|
142
|
+
# @param signing_key_id [String] The ID of the signing key.
|
|
115
143
|
# @param [Hash] opts the optional parameters
|
|
116
144
|
# @return [SigningKeyResponse]
|
|
117
145
|
def get_url_signing_key(signing_key_id, opts = {})
|
|
@@ -121,9 +149,9 @@ module MuxRuby
|
|
|
121
149
|
|
|
122
150
|
# Retrieve a URL signing key
|
|
123
151
|
# Retrieves the details of a URL signing key that has previously been created. Supply the unique signing key ID that was returned from your previous request, and Mux will return the corresponding signing key information. **The private key is not returned in this response.**
|
|
124
|
-
# @param signing_key_id The ID of the signing key.
|
|
152
|
+
# @param signing_key_id [String] The ID of the signing key.
|
|
125
153
|
# @param [Hash] opts the optional parameters
|
|
126
|
-
# @return [Array<(SigningKeyResponse,
|
|
154
|
+
# @return [Array<(SigningKeyResponse, Integer, Hash)>] SigningKeyResponse data, response status code and response headers
|
|
127
155
|
def get_url_signing_key_with_http_info(signing_key_id, opts = {})
|
|
128
156
|
if @api_client.config.debugging
|
|
129
157
|
@api_client.config.logger.debug 'Calling API: URLSigningKeysApi.get_url_signing_key ...'
|
|
@@ -133,29 +161,39 @@ module MuxRuby
|
|
|
133
161
|
fail ArgumentError, "Missing the required parameter 'signing_key_id' when calling URLSigningKeysApi.get_url_signing_key"
|
|
134
162
|
end
|
|
135
163
|
# resource path
|
|
136
|
-
local_var_path = '/video/v1/signing-keys/{SIGNING_KEY_ID}'.sub('{' + 'SIGNING_KEY_ID' + '}', signing_key_id.to_s)
|
|
164
|
+
local_var_path = '/video/v1/signing-keys/{SIGNING_KEY_ID}'.sub('{' + 'SIGNING_KEY_ID' + '}', CGI.escape(signing_key_id.to_s))
|
|
137
165
|
|
|
138
166
|
# query parameters
|
|
139
|
-
query_params = {}
|
|
167
|
+
query_params = opts[:query_params] || {}
|
|
140
168
|
|
|
141
169
|
# header parameters
|
|
142
|
-
header_params = {}
|
|
170
|
+
header_params = opts[:header_params] || {}
|
|
143
171
|
# HTTP header 'Accept' (if needed)
|
|
144
172
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
145
173
|
|
|
146
174
|
# form parameters
|
|
147
|
-
form_params = {}
|
|
175
|
+
form_params = opts[:form_params] || {}
|
|
148
176
|
|
|
149
177
|
# http body (model)
|
|
150
|
-
post_body =
|
|
151
|
-
|
|
152
|
-
|
|
178
|
+
post_body = opts[:debug_body]
|
|
179
|
+
|
|
180
|
+
# return_type
|
|
181
|
+
return_type = opts[:debug_return_type] || 'SigningKeyResponse'
|
|
182
|
+
|
|
183
|
+
# auth_names
|
|
184
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
185
|
+
|
|
186
|
+
new_options = opts.merge(
|
|
187
|
+
:operation => :"URLSigningKeysApi.get_url_signing_key",
|
|
153
188
|
:header_params => header_params,
|
|
154
189
|
:query_params => query_params,
|
|
155
190
|
:form_params => form_params,
|
|
156
191
|
:body => post_body,
|
|
157
192
|
:auth_names => auth_names,
|
|
158
|
-
:return_type =>
|
|
193
|
+
:return_type => return_type
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
159
197
|
if @api_client.config.debugging
|
|
160
198
|
@api_client.config.logger.debug "API called: URLSigningKeysApi#get_url_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
161
199
|
end
|
|
@@ -178,7 +216,7 @@ module MuxRuby
|
|
|
178
216
|
# @param [Hash] opts the optional parameters
|
|
179
217
|
# @option opts [Integer] :limit Number of items to include in the response
|
|
180
218
|
# @option opts [Integer] :page Offset by this many pages, of the size of `limit`
|
|
181
|
-
# @return [Array<(ListSigningKeysResponse,
|
|
219
|
+
# @return [Array<(ListSigningKeysResponse, Integer, Hash)>] ListSigningKeysResponse data, response status code and response headers
|
|
182
220
|
def list_url_signing_keys_with_http_info(opts = {})
|
|
183
221
|
if @api_client.config.debugging
|
|
184
222
|
@api_client.config.logger.debug 'Calling API: URLSigningKeysApi.list_url_signing_keys ...'
|
|
@@ -187,33 +225,42 @@ module MuxRuby
|
|
|
187
225
|
local_var_path = '/video/v1/signing-keys'
|
|
188
226
|
|
|
189
227
|
# query parameters
|
|
190
|
-
query_params = {}
|
|
228
|
+
query_params = opts[:query_params] || {}
|
|
191
229
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
192
230
|
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
193
231
|
|
|
194
232
|
# header parameters
|
|
195
|
-
header_params = {}
|
|
233
|
+
header_params = opts[:header_params] || {}
|
|
196
234
|
# HTTP header 'Accept' (if needed)
|
|
197
235
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
198
236
|
|
|
199
237
|
# form parameters
|
|
200
|
-
form_params = {}
|
|
238
|
+
form_params = opts[:form_params] || {}
|
|
201
239
|
|
|
202
240
|
# http body (model)
|
|
203
|
-
post_body =
|
|
204
|
-
|
|
205
|
-
|
|
241
|
+
post_body = opts[:debug_body]
|
|
242
|
+
|
|
243
|
+
# return_type
|
|
244
|
+
return_type = opts[:debug_return_type] || 'ListSigningKeysResponse'
|
|
245
|
+
|
|
246
|
+
# auth_names
|
|
247
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
248
|
+
|
|
249
|
+
new_options = opts.merge(
|
|
250
|
+
:operation => :"URLSigningKeysApi.list_url_signing_keys",
|
|
206
251
|
:header_params => header_params,
|
|
207
252
|
:query_params => query_params,
|
|
208
253
|
:form_params => form_params,
|
|
209
254
|
:body => post_body,
|
|
210
255
|
:auth_names => auth_names,
|
|
211
|
-
:return_type =>
|
|
256
|
+
:return_type => return_type
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
212
260
|
if @api_client.config.debugging
|
|
213
261
|
@api_client.config.logger.debug "API called: URLSigningKeysApi#list_url_signing_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
214
262
|
end
|
|
215
263
|
return data, status_code, headers
|
|
216
264
|
end
|
|
217
|
-
|
|
218
265
|
end
|
|
219
266
|
end
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#
|
|
3
|
-
|
|
2
|
+
#Mux API
|
|
3
|
+
|
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.0.1
|
|
10
|
+
|
|
4
11
|
=end
|
|
5
12
|
|
|
6
|
-
require '
|
|
13
|
+
require 'cgi'
|
|
7
14
|
|
|
8
15
|
module MuxRuby
|
|
9
16
|
class VideoViewsApi
|
|
@@ -14,7 +21,7 @@ module MuxRuby
|
|
|
14
21
|
end
|
|
15
22
|
# Get a Video View
|
|
16
23
|
# Returns the details of a video view
|
|
17
|
-
# @param video_view_id ID of the Video View
|
|
24
|
+
# @param video_view_id [String] ID of the Video View
|
|
18
25
|
# @param [Hash] opts the optional parameters
|
|
19
26
|
# @return [VideoViewResponse]
|
|
20
27
|
def get_video_view(video_view_id, opts = {})
|
|
@@ -24,9 +31,9 @@ module MuxRuby
|
|
|
24
31
|
|
|
25
32
|
# Get a Video View
|
|
26
33
|
# Returns the details of a video view
|
|
27
|
-
# @param video_view_id ID of the Video View
|
|
34
|
+
# @param video_view_id [String] ID of the Video View
|
|
28
35
|
# @param [Hash] opts the optional parameters
|
|
29
|
-
# @return [Array<(VideoViewResponse,
|
|
36
|
+
# @return [Array<(VideoViewResponse, Integer, Hash)>] VideoViewResponse data, response status code and response headers
|
|
30
37
|
def get_video_view_with_http_info(video_view_id, opts = {})
|
|
31
38
|
if @api_client.config.debugging
|
|
32
39
|
@api_client.config.logger.debug 'Calling API: VideoViewsApi.get_video_view ...'
|
|
@@ -36,29 +43,39 @@ module MuxRuby
|
|
|
36
43
|
fail ArgumentError, "Missing the required parameter 'video_view_id' when calling VideoViewsApi.get_video_view"
|
|
37
44
|
end
|
|
38
45
|
# resource path
|
|
39
|
-
local_var_path = '/data/v1/video-views/{VIDEO_VIEW_ID}'.sub('{' + 'VIDEO_VIEW_ID' + '}', video_view_id.to_s)
|
|
46
|
+
local_var_path = '/data/v1/video-views/{VIDEO_VIEW_ID}'.sub('{' + 'VIDEO_VIEW_ID' + '}', CGI.escape(video_view_id.to_s))
|
|
40
47
|
|
|
41
48
|
# query parameters
|
|
42
|
-
query_params = {}
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
43
50
|
|
|
44
51
|
# header parameters
|
|
45
|
-
header_params = {}
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
46
53
|
# HTTP header 'Accept' (if needed)
|
|
47
54
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
48
55
|
|
|
49
56
|
# form parameters
|
|
50
|
-
form_params = {}
|
|
57
|
+
form_params = opts[:form_params] || {}
|
|
51
58
|
|
|
52
59
|
# http body (model)
|
|
53
|
-
post_body =
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
post_body = opts[:debug_body]
|
|
61
|
+
|
|
62
|
+
# return_type
|
|
63
|
+
return_type = opts[:debug_return_type] || 'VideoViewResponse'
|
|
64
|
+
|
|
65
|
+
# auth_names
|
|
66
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
67
|
+
|
|
68
|
+
new_options = opts.merge(
|
|
69
|
+
:operation => :"VideoViewsApi.get_video_view",
|
|
56
70
|
:header_params => header_params,
|
|
57
71
|
:query_params => query_params,
|
|
58
72
|
:form_params => form_params,
|
|
59
73
|
:body => post_body,
|
|
60
74
|
:auth_names => auth_names,
|
|
61
|
-
:return_type =>
|
|
75
|
+
:return_type => return_type
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
62
79
|
if @api_client.config.debugging
|
|
63
80
|
@api_client.config.logger.debug "API called: VideoViewsApi#get_video_view\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
64
81
|
end
|
|
@@ -73,8 +90,8 @@ module MuxRuby
|
|
|
73
90
|
# @option opts [String] :viewer_id Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux.
|
|
74
91
|
# @option opts [Integer] :error_id Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with any error.
|
|
75
92
|
# @option opts [String] :order_direction Sort order.
|
|
76
|
-
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US).
|
|
77
|
-
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600
|
|
93
|
+
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
|
|
94
|
+
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
|
|
78
95
|
# @return [ListVideoViewsResponse]
|
|
79
96
|
def list_video_views(opts = {})
|
|
80
97
|
data, _status_code, _headers = list_video_views_with_http_info(opts)
|
|
@@ -89,21 +106,22 @@ module MuxRuby
|
|
|
89
106
|
# @option opts [String] :viewer_id Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux.
|
|
90
107
|
# @option opts [Integer] :error_id Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with any error.
|
|
91
108
|
# @option opts [String] :order_direction Sort order.
|
|
92
|
-
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US).
|
|
93
|
-
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600
|
|
94
|
-
# @return [Array<(ListVideoViewsResponse,
|
|
109
|
+
# @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
|
|
110
|
+
# @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
|
|
111
|
+
# @return [Array<(ListVideoViewsResponse, Integer, Hash)>] ListVideoViewsResponse data, response status code and response headers
|
|
95
112
|
def list_video_views_with_http_info(opts = {})
|
|
96
113
|
if @api_client.config.debugging
|
|
97
114
|
@api_client.config.logger.debug 'Calling API: VideoViewsApi.list_video_views ...'
|
|
98
115
|
end
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
allowable_values = ["asc", "desc"]
|
|
117
|
+
if @api_client.config.client_side_validation && opts[:'order_direction'] && !allowable_values.include?(opts[:'order_direction'])
|
|
118
|
+
fail ArgumentError, "invalid value for \"order_direction\", must be one of #{allowable_values}"
|
|
101
119
|
end
|
|
102
120
|
# resource path
|
|
103
121
|
local_var_path = '/data/v1/video-views'
|
|
104
122
|
|
|
105
123
|
# query parameters
|
|
106
|
-
query_params = {}
|
|
124
|
+
query_params = opts[:query_params] || {}
|
|
107
125
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
108
126
|
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
109
127
|
query_params[:'viewer_id'] = opts[:'viewer_id'] if !opts[:'viewer_id'].nil?
|
|
@@ -113,28 +131,37 @@ module MuxRuby
|
|
|
113
131
|
query_params[:'timeframe[]'] = @api_client.build_collection_param(opts[:'timeframe'], :multi) if !opts[:'timeframe'].nil?
|
|
114
132
|
|
|
115
133
|
# header parameters
|
|
116
|
-
header_params = {}
|
|
134
|
+
header_params = opts[:header_params] || {}
|
|
117
135
|
# HTTP header 'Accept' (if needed)
|
|
118
136
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
119
137
|
|
|
120
138
|
# form parameters
|
|
121
|
-
form_params = {}
|
|
139
|
+
form_params = opts[:form_params] || {}
|
|
122
140
|
|
|
123
141
|
# http body (model)
|
|
124
|
-
post_body =
|
|
125
|
-
|
|
126
|
-
|
|
142
|
+
post_body = opts[:debug_body]
|
|
143
|
+
|
|
144
|
+
# return_type
|
|
145
|
+
return_type = opts[:debug_return_type] || 'ListVideoViewsResponse'
|
|
146
|
+
|
|
147
|
+
# auth_names
|
|
148
|
+
auth_names = opts[:debug_auth_names] || ['accessToken']
|
|
149
|
+
|
|
150
|
+
new_options = opts.merge(
|
|
151
|
+
:operation => :"VideoViewsApi.list_video_views",
|
|
127
152
|
:header_params => header_params,
|
|
128
153
|
:query_params => query_params,
|
|
129
154
|
:form_params => form_params,
|
|
130
155
|
:body => post_body,
|
|
131
156
|
:auth_names => auth_names,
|
|
132
|
-
:return_type =>
|
|
157
|
+
:return_type => return_type
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
133
161
|
if @api_client.config.debugging
|
|
134
162
|
@api_client.config.logger.debug "API called: VideoViewsApi#list_video_views\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
135
163
|
end
|
|
136
164
|
return data, status_code, headers
|
|
137
165
|
end
|
|
138
|
-
|
|
139
166
|
end
|
|
140
167
|
end
|
data/lib/mux_ruby/api_client.rb
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#
|
|
3
|
-
|
|
2
|
+
#Mux API
|
|
3
|
+
|
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.0.1
|
|
10
|
+
|
|
4
11
|
=end
|
|
5
12
|
|
|
6
13
|
require 'date'
|
|
7
14
|
require 'json'
|
|
8
15
|
require 'logger'
|
|
9
16
|
require 'tempfile'
|
|
17
|
+
require 'time'
|
|
10
18
|
require 'typhoeus'
|
|
11
|
-
require 'uri'
|
|
12
19
|
|
|
13
20
|
module MuxRuby
|
|
14
21
|
class ApiClient
|
|
@@ -37,7 +44,7 @@ module MuxRuby
|
|
|
37
44
|
|
|
38
45
|
# Call an API with given options.
|
|
39
46
|
#
|
|
40
|
-
# @return [Array<(Object,
|
|
47
|
+
# @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
|
|
41
48
|
# the data deserialized from response body (could be nil), response status code and response headers.
|
|
42
49
|
def call_api(http_method, path, opts = {})
|
|
43
50
|
request = build_request(http_method, path, opts)
|
|
@@ -74,6 +81,11 @@ module MuxRuby
|
|
|
74
81
|
:response_headers => response.headers,
|
|
75
82
|
:response_body => response.body,
|
|
76
83
|
:message => response.status_message)
|
|
84
|
+
elsif response.code.between?(400, 499)
|
|
85
|
+
fail ClientError.new(:code => response.code,
|
|
86
|
+
:response_headers => response.headers,
|
|
87
|
+
:response_body => response.body,
|
|
88
|
+
:message => response.status_message)
|
|
77
89
|
elsif response.code.between?(500, 599)
|
|
78
90
|
fail ServiceError.new(:code => response.code,
|
|
79
91
|
:response_headers => response.headers,
|
|
@@ -105,7 +117,7 @@ module MuxRuby
|
|
|
105
117
|
# @option opts [Object] :body HTTP body (JSON/XML)
|
|
106
118
|
# @return [Typhoeus::Request] A Typhoeus Request
|
|
107
119
|
def build_request(http_method, path, opts = {})
|
|
108
|
-
url = build_request_url(path)
|
|
120
|
+
url = build_request_url(path, opts)
|
|
109
121
|
http_method = http_method.to_sym.downcase
|
|
110
122
|
|
|
111
123
|
header_params = @default_headers.merge(opts[:header_params] || {})
|
|
@@ -121,7 +133,7 @@ module MuxRuby
|
|
|
121
133
|
:method => http_method,
|
|
122
134
|
:headers => header_params,
|
|
123
135
|
:params => query_params,
|
|
124
|
-
:params_encoding =>
|
|
136
|
+
:params_encoding => @config.params_encoding,
|
|
125
137
|
:timeout => @config.timeout,
|
|
126
138
|
:ssl_verifypeer => @config.verify_ssl,
|
|
127
139
|
:ssl_verifyhost => _verify_ssl_host,
|
|
@@ -146,6 +158,72 @@ module MuxRuby
|
|
|
146
158
|
request
|
|
147
159
|
end
|
|
148
160
|
|
|
161
|
+
# Builds the HTTP request body
|
|
162
|
+
#
|
|
163
|
+
# @param [Hash] header_params Header parameters
|
|
164
|
+
# @param [Hash] form_params Query parameters
|
|
165
|
+
# @param [Object] body HTTP body (JSON/XML)
|
|
166
|
+
# @return [String] HTTP body data in the form of string
|
|
167
|
+
def build_request_body(header_params, form_params, body)
|
|
168
|
+
# http form
|
|
169
|
+
if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
|
|
170
|
+
header_params['Content-Type'] == 'multipart/form-data'
|
|
171
|
+
data = {}
|
|
172
|
+
form_params.each do |key, value|
|
|
173
|
+
case value
|
|
174
|
+
when ::File, ::Array, nil
|
|
175
|
+
# let typhoeus handle File, Array and nil parameters
|
|
176
|
+
data[key] = value
|
|
177
|
+
else
|
|
178
|
+
data[key] = value.to_s
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
elsif body
|
|
182
|
+
data = body.is_a?(String) ? body : body.to_json
|
|
183
|
+
else
|
|
184
|
+
data = nil
|
|
185
|
+
end
|
|
186
|
+
data
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Save response body into a file in (the defined) temporary folder, using the filename
|
|
190
|
+
# from the "Content-Disposition" header if provided, otherwise a random filename.
|
|
191
|
+
# The response body is written to the file in chunks in order to handle files which
|
|
192
|
+
# size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
|
|
193
|
+
# process can use.
|
|
194
|
+
#
|
|
195
|
+
# @see Configuration#temp_folder_path
|
|
196
|
+
def download_file(request)
|
|
197
|
+
tempfile = nil
|
|
198
|
+
encoding = nil
|
|
199
|
+
request.on_headers do |response|
|
|
200
|
+
content_disposition = response.headers['Content-Disposition']
|
|
201
|
+
if content_disposition && content_disposition =~ /filename=/i
|
|
202
|
+
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
|
203
|
+
prefix = sanitize_filename(filename)
|
|
204
|
+
else
|
|
205
|
+
prefix = 'download-'
|
|
206
|
+
end
|
|
207
|
+
prefix = prefix + '-' unless prefix.end_with?('-')
|
|
208
|
+
encoding = response.body.encoding
|
|
209
|
+
tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
|
|
210
|
+
@tempfile = tempfile
|
|
211
|
+
end
|
|
212
|
+
request.on_body do |chunk|
|
|
213
|
+
chunk.force_encoding(encoding)
|
|
214
|
+
tempfile.write(chunk)
|
|
215
|
+
end
|
|
216
|
+
request.on_complete do |response|
|
|
217
|
+
if tempfile
|
|
218
|
+
tempfile.close
|
|
219
|
+
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
220
|
+
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
221
|
+
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
222
|
+
"explicitly with `tempfile.delete`"
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
149
227
|
# Check if the given MIME is a JSON MIME.
|
|
150
228
|
# JSON MIME examples:
|
|
151
229
|
# application/json
|
|
@@ -182,7 +260,7 @@ module MuxRuby
|
|
|
182
260
|
begin
|
|
183
261
|
data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
|
|
184
262
|
rescue JSON::ParserError => e
|
|
185
|
-
if %w(String Date
|
|
263
|
+
if %w(String Date Time).include?(return_type)
|
|
186
264
|
data = body
|
|
187
265
|
else
|
|
188
266
|
raise e
|
|
@@ -205,11 +283,11 @@ module MuxRuby
|
|
|
205
283
|
data.to_i
|
|
206
284
|
when 'Float'
|
|
207
285
|
data.to_f
|
|
208
|
-
when '
|
|
286
|
+
when 'Boolean'
|
|
209
287
|
data == true
|
|
210
|
-
when '
|
|
288
|
+
when 'Time'
|
|
211
289
|
# parse date time (expecting ISO 8601 format)
|
|
212
|
-
|
|
290
|
+
Time.parse data
|
|
213
291
|
when 'Date'
|
|
214
292
|
# parse date time (expecting ISO 8601 format)
|
|
215
293
|
Date.parse data
|
|
@@ -227,44 +305,9 @@ module MuxRuby
|
|
|
227
305
|
data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
|
|
228
306
|
end
|
|
229
307
|
else
|
|
230
|
-
# models
|
|
231
|
-
MuxRuby.const_get(return_type)
|
|
232
|
-
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
# Save response body into a file in (the defined) temporary folder, using the filename
|
|
236
|
-
# from the "Content-Disposition" header if provided, otherwise a random filename.
|
|
237
|
-
# The response body is written to the file in chunks in order to handle files which
|
|
238
|
-
# size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
|
|
239
|
-
# process can use.
|
|
240
|
-
#
|
|
241
|
-
# @see Configuration#temp_folder_path
|
|
242
|
-
def download_file(request)
|
|
243
|
-
tempfile = nil
|
|
244
|
-
encoding = nil
|
|
245
|
-
request.on_headers do |response|
|
|
246
|
-
content_disposition = response.headers['Content-Disposition']
|
|
247
|
-
if content_disposition && content_disposition =~ /filename=/i
|
|
248
|
-
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
|
249
|
-
prefix = sanitize_filename(filename)
|
|
250
|
-
else
|
|
251
|
-
prefix = 'download-'
|
|
252
|
-
end
|
|
253
|
-
prefix = prefix + '-' unless prefix.end_with?('-')
|
|
254
|
-
encoding = response.body.encoding
|
|
255
|
-
tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
|
|
256
|
-
@tempfile = tempfile
|
|
257
|
-
end
|
|
258
|
-
request.on_body do |chunk|
|
|
259
|
-
chunk.force_encoding(encoding)
|
|
260
|
-
tempfile.write(chunk)
|
|
261
|
-
end
|
|
262
|
-
request.on_complete do |response|
|
|
263
|
-
tempfile.close if tempfile
|
|
264
|
-
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
265
|
-
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
266
|
-
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
267
|
-
"explicitly with `tempfile.delete`"
|
|
308
|
+
# models (e.g. Pet) or oneOf
|
|
309
|
+
klass = MuxRuby.const_get(return_type)
|
|
310
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
|
|
268
311
|
end
|
|
269
312
|
end
|
|
270
313
|
|
|
@@ -277,38 +320,10 @@ module MuxRuby
|
|
|
277
320
|
filename.gsub(/.*[\/\\]/, '')
|
|
278
321
|
end
|
|
279
322
|
|
|
280
|
-
def build_request_url(path)
|
|
323
|
+
def build_request_url(path, opts = {})
|
|
281
324
|
# Add leading and trailing slashes to path
|
|
282
325
|
path = "/#{path}".gsub(/\/+/, '/')
|
|
283
|
-
|
|
284
|
-
end
|
|
285
|
-
|
|
286
|
-
# Builds the HTTP request body
|
|
287
|
-
#
|
|
288
|
-
# @param [Hash] header_params Header parameters
|
|
289
|
-
# @param [Hash] form_params Query parameters
|
|
290
|
-
# @param [Object] body HTTP body (JSON/XML)
|
|
291
|
-
# @return [String] HTTP body data in the form of string
|
|
292
|
-
def build_request_body(header_params, form_params, body)
|
|
293
|
-
# http form
|
|
294
|
-
if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
|
|
295
|
-
header_params['Content-Type'] == 'multipart/form-data'
|
|
296
|
-
data = {}
|
|
297
|
-
form_params.each do |key, value|
|
|
298
|
-
case value
|
|
299
|
-
when ::File, ::Array, nil
|
|
300
|
-
# let typhoeus handle File, Array and nil parameters
|
|
301
|
-
data[key] = value
|
|
302
|
-
else
|
|
303
|
-
data[key] = value.to_s
|
|
304
|
-
end
|
|
305
|
-
end
|
|
306
|
-
elsif body
|
|
307
|
-
data = body.is_a?(String) ? body : body.to_json
|
|
308
|
-
else
|
|
309
|
-
data = nil
|
|
310
|
-
end
|
|
311
|
-
data
|
|
326
|
+
@config.base_url(opts[:operation]) + path
|
|
312
327
|
end
|
|
313
328
|
|
|
314
329
|
# Update hearder and query params based on authentication settings.
|
|
@@ -323,7 +338,7 @@ module MuxRuby
|
|
|
323
338
|
case auth_setting[:in]
|
|
324
339
|
when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
|
|
325
340
|
when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
|
|
326
|
-
else fail ArgumentError, 'Authentication token must be in `query`
|
|
341
|
+
else fail ArgumentError, 'Authentication token must be in `query` or `header`'
|
|
327
342
|
end
|
|
328
343
|
end
|
|
329
344
|
end
|