resizing 1.1.0.pre → 1.2.0

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: 2d601d6b8f87f6440de0c1c4d4dcbb74e7bc386dd3e217b66b8ac259d35939f0
4
- data.tar.gz: 3f2ce39dcb8879dee7a9717142bfa794e6cad5671e19cdd01afbb5f7dacc6787
3
+ metadata.gz: f29ef7826174501bc395b977648ea813a942ef8360e47611b9bbc8f87f153f37
4
+ data.tar.gz: daa52c23493aea0ac244f99827023a44c7cd0c9b000f2fcb60493bdf7d8161f8
5
5
  SHA512:
6
- metadata.gz: c221c9290ccf562d804bb9f5dca6657568c891ce4c14d825fb8a19627feec1982c09773bfb55304cd5a13b8c4bb786a57d1abe3589684da312fd0167ecfc9a28
7
- data.tar.gz: ee2dde3b29accd86dae059daf0e164fef634476886fb254b2145e3be33764d3a81308d9eea382a557817951714cbc8d4e98b02318417042a38590a4109334630
6
+ metadata.gz: b00781a214e9c92780912bcaf0176927caf7f86ebac96fdabf6c178128862ac60540a2c953085c645fba9eb34a9b6808ec40e05327d400c2849f48397f4cf196
7
+ data.tar.gz: 59c63f87c52c42d807f8de5897d4ff3cfdebbca4ab9be807bfe31d29de8a4ff11313f22d8209d6a324abf25ce593a17510de4cebda5894b67b4f88cace308d75
@@ -37,13 +37,14 @@ module Resizing
37
37
  raise NotImplementedError
38
38
  end
39
39
 
40
- def post(file_or_binary, options = {})
40
+ def post(filename_or_io, options = {})
41
41
  ensure_content_type(options)
42
- filename = gather_filename file_or_binary, options
42
+ ensure_filename_or_io(filename_or_io)
43
+ filename = gather_filename filename_or_io, options
43
44
 
44
45
  url = build_post_url
45
46
  params = {
46
- image: Faraday::Multipart::FilePart.new(file_or_binary, options[:content_type], filename)
47
+ image: Faraday::Multipart::FilePart.new(filename_or_io, options[:content_type], filename)
47
48
  }
48
49
 
49
50
  response = handle_faraday_error do
@@ -56,13 +57,14 @@ module Resizing
56
57
  result
57
58
  end
58
59
 
59
- def put(image_id, file_or_binary, options)
60
+ def put(image_id, filename_or_io, options)
60
61
  ensure_content_type(options)
61
- filename = gather_filename file_or_binary, options
62
+ ensure_filename_or_io(filename_or_io)
63
+ filename = gather_filename filename_or_io, options
62
64
 
63
65
  url = build_put_url(image_id)
64
66
  params = {
65
- image: Faraday::Multipart::FilePart.new(file_or_binary, options[:content_type], filename)
67
+ image: Faraday::Multipart::FilePart.new(filename_or_io, options[:content_type], filename)
66
68
  }
67
69
 
68
70
  response = handle_faraday_error do
@@ -111,9 +113,9 @@ module Resizing
111
113
  "#{config.image_host}/projects/#{config.project_id}/upload/images/"
112
114
  end
113
115
 
114
- def gather_filename file_or_binary, options
116
+ def gather_filename(filename_or_io, options)
115
117
  filename = options[:filename]
116
- filename ||= file_or_binary.respond_to?(:path) ? File.basename(file_or_binary.path) : nil
118
+ filename ||= filename_or_io.respond_to?(:path) ? File.basename(filename_or_io.path) : nil
117
119
  end
118
120
 
119
121
  def build_put_url(image_id)
@@ -132,6 +134,18 @@ module Resizing
132
134
  raise ArgumentError, "need options[:content_type] for #{options.inspect}" unless options[:content_type]
133
135
  end
134
136
 
137
+ def ensure_filename_or_io(filename_or_io)
138
+ return if filename_or_io.is_a?(File)
139
+
140
+ if filename_or_io.is_a?(String)
141
+ if File.exist?(filename_or_io)
142
+ return
143
+ end
144
+ end
145
+
146
+ raise ArgumentError, "filename_or_io must be a File object or a path to a file (#{filename_or_io.class})"
147
+ end
148
+
135
149
  def handle_create_response(response)
136
150
  raise APIError, "No response is returned" if response.nil?
137
151
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Resizing
4
- VERSION = '1.1.0.pre'
4
+ VERSION = '1.2.0'
5
5
  end
data/resizing.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ['lib']
31
31
  spec.add_runtime_dependency 'faraday', '~> 2.3'
32
32
  spec.add_runtime_dependency 'faraday-multipart'
33
- spec.add_development_dependency 'rails', '~> 6.0'
33
+ spec.add_development_dependency 'rails', '> 6.0'
34
34
  spec.add_development_dependency 'carrierwave', '~> 2.2.5'
35
35
  spec.add_development_dependency 'fog-aws'
36
36
  spec.add_development_dependency 'minitest'
@@ -34,7 +34,36 @@ module Resizing
34
34
  assert_equal(client.config, config)
35
35
  end
36
36
 
37
- def test_is_postable_file
37
+ def test_is_postable_with_filename
38
+ Resizing.configure = @configuration_template
39
+
40
+ client = Resizing::Client.new
41
+ VCR.use_cassette 'client/post', record: :once do
42
+ r = client.post('test/data/images/sample1.jpg', content_type: 'image/jpeg')
43
+ assert_equal(r['id'], '87263920-2081-498e-a107-9625f4fde01b')
44
+ assert_equal(r['project_id'], Resizing.configure.project_id)
45
+ assert_equal(r['content_type'], 'image/jpeg')
46
+ assert(!r['latest_version_id'].nil?)
47
+ assert(!r['latest_etag'].nil?)
48
+ assert(!r['created_at'].nil?)
49
+ assert(!r['updated_at'].nil?)
50
+ assert_equal(r['public_id'], '/projects/e06e710d-f026-4dcf-b2c0-eab0de8bb83f/upload/images/87263920-2081-498e-a107-9625f4fde01b/vHg9VFvdI6HRzLFbV495VdwVmHIspLRCo')
51
+ assert_equal(r['filename'], 'sample1.jpg')
52
+ end
53
+ end
54
+
55
+ def test_is_unpostable_with_filename
56
+ Resizing.configure = @configuration_template
57
+
58
+ client = Resizing::Client.new
59
+ VCR.use_cassette 'client/post', record: :once do
60
+ assert_raises ArgumentError do
61
+ client.post('file_is_not_exists', content_type: 'image/jpeg')
62
+ end
63
+ end
64
+ end
65
+
66
+ def test_is_postable_with_file
38
67
  Resizing.configure = @configuration_template
39
68
 
40
69
  client = Resizing::Client.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resizing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.pre
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Junichiro Kasuya
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-31 00:00:00.000000000 Z
11
+ date: 2024-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '6.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '6.0'
55
55
  - !ruby/object:Gem::Dependency
@@ -227,8 +227,6 @@ files:
227
227
  - lib/resizing/mock_client.rb
228
228
  - lib/resizing/public_id.rb
229
229
  - lib/resizing/version.rb
230
- - lib/resizing/video.rb
231
- - lib/resizing/video/client.rb
232
230
  - resizing.gemspec
233
231
  - test/data/images/empty_file.jpg
234
232
  - test/data/images/sample1.jpg
@@ -238,7 +236,6 @@ files:
238
236
  - test/resizing/client_test.rb
239
237
  - test/resizing/configuration_test.rb
240
238
  - test/resizing/public_id_test.rb
241
- - test/resizing/video/client_test.rb
242
239
  - test/resizing_test.rb
243
240
  - test/test_helper.rb
244
241
  - test/vcr/carrier_wave_test/remove_resizing_picture.yml
@@ -248,9 +245,6 @@ files:
248
245
  - test/vcr/client/metadata.yml
249
246
  - test/vcr/client/post.yml
250
247
  - test/vcr/client/put.yml
251
- - test/vcr/video/metadata/success.yml
252
- - test/vcr/video/prepare/success.yml
253
- - test/vcr/video/upload_completed/success.yml
254
248
  homepage: https://github.com/jksy/resizing-gem
255
249
  licenses:
256
250
  - MIT
@@ -258,7 +252,7 @@ metadata:
258
252
  allowed_push_host: https://rubygems.org
259
253
  homepage_uri: https://github.com/jksy/resizing-gem
260
254
  source_code_uri: https://github.com/jksy/resizing-gem.
261
- post_install_message:
255
+ post_install_message:
262
256
  rdoc_options: []
263
257
  require_paths:
264
258
  - lib
@@ -269,12 +263,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
269
263
  version: 2.3.0
270
264
  required_rubygems_version: !ruby/object:Gem::Requirement
271
265
  requirements:
272
- - - ">"
266
+ - - ">="
273
267
  - !ruby/object:Gem::Version
274
- version: 1.3.1
268
+ version: '0'
275
269
  requirements: []
276
- rubygems_version: 3.1.6
277
- signing_key:
270
+ rubygems_version: 3.5.3
271
+ signing_key:
278
272
  specification_version: 4
279
273
  summary: Client and utilities for Resizing
280
274
  test_files: []
@@ -1,116 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Resizing
4
- module Video
5
- class Client
6
- include Resizing::Constants
7
- include Resizing::Configurable
8
- include Resizing::HttpClientable
9
-
10
- def initialize(*attrs)
11
- initialize_config(*attrs)
12
- end
13
-
14
- def prepare
15
- url = build_prepare_url
16
-
17
- response = handle_faraday_error do
18
- http_client.post(url) do |request|
19
- request.headers['X-ResizingToken'] = config.generate_auth_header
20
- end
21
- end
22
- handle_prepare_response response
23
- end
24
-
25
- def upload_completed response_or_url
26
- url = url_from response_or_url, 'upload_completed_url'
27
-
28
- response = handle_faraday_error do
29
- http_client.put(url) do |request|
30
- request.headers['X-ResizingToken'] = config.generate_auth_header
31
- end
32
- end
33
- handle_upload_completed_response response
34
- end
35
-
36
- def delete response_or_url
37
- url = url_from response_or_url, 'destroy_url'
38
-
39
- response = handle_faraday_error do
40
- http_client.put(url) do |request|
41
- request.headers['X-ResizingToken'] = config.generate_auth_header
42
- end
43
- end
44
- handle_upload_completed_response response
45
- end
46
-
47
- def metadata response_or_url
48
- url = url_from response_or_url, 'self_url'
49
-
50
- response = handle_faraday_error do
51
- http_client.get(url) do |request|
52
- request.headers['X-ResizingToken'] = config.generate_auth_header
53
- end
54
- end
55
- handle_metadata_response response
56
- end
57
-
58
- def build_prepare_url
59
- "#{config.video_host}/projects/#{config.project_id}/upload/videos/prepare"
60
- end
61
-
62
- private
63
-
64
- def url_from response_or_url, name
65
- if response_or_url.kind_of? String
66
- response_or_url
67
- elsif response_or_url.kind_of? Hash
68
- response_or_url[name.to_s] || response_or_url[name.intern]
69
- else
70
- raise ArgumentError, "upload_completed is require Hash or String"
71
- end
72
- end
73
-
74
-
75
- def handle_prepare_response response
76
- raise APIError, "no response is returned" if response.nil?
77
-
78
- case response.status
79
- when HTTP_STATUS_OK, HTTP_STATUS_CREATED
80
- JSON.parse(response.body)
81
- else
82
- handle_error_response response
83
- end
84
- end
85
-
86
- def handle_upload_completed_response response
87
- raise APIError, "no response is returned" if response.nil?
88
-
89
- case response.status
90
- when HTTP_STATUS_OK
91
- JSON.parse(response.body)
92
- else
93
- handle_error_response response
94
- end
95
- end
96
-
97
- def handle_metadata_response response
98
- raise APIError, "no response is returned" if response.nil?
99
-
100
- case response.status
101
- when HTTP_STATUS_OK
102
- JSON.parse(response.body)
103
- else
104
- handle_error_response response
105
- end
106
- end
107
-
108
- def handle_error_response response
109
- result = JSON.parse(response.body) rescue {}
110
- err = APIError.new("invalid http status code #{response.status}")
111
- err.decoded_body = result
112
- raise err
113
- end
114
- end
115
- end
116
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Resizing
4
- module Video
5
- autoload :Client, 'resizing/video/client'
6
- end
7
- end
8
-
@@ -1,158 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- module Resizing
6
- module Video
7
- class ClientTest < Minitest::Test
8
- def setup
9
- # TODO
10
- # refactoring
11
- @configuration_template = {
12
- image_host: 'http://192.168.56.101:5000',
13
- video_host: 'http://192.168.56.101:5000',
14
- project_id: 'f11dfad4-2247-4220-b3b2-efeb82864a97',
15
- secret_token: 'xn2fkkrrp2uiragliaigkx3mwnmjis6dg35sa3kya12sq133t3xjp36s7iwamp64',
16
- open_timeout: 10,
17
- response_timeout: 20
18
- }
19
- end
20
-
21
- def teardown
22
- # NOP
23
- end
24
-
25
- def test_is_initialized
26
- Resizing.configure = @configuration_template
27
-
28
- client = Resizing::Video::Client.new
29
- assert(!client.config.nil?)
30
- assert_equal(client.config, Resizing.configure)
31
- end
32
-
33
- def test_is_initialized_with_configuration
34
- config = Resizing::Configuration.new(@configuration_template)
35
- client = Resizing::Video::Client.new(config)
36
- assert(!client.config.nil?)
37
- assert_equal(client.config, config)
38
- end
39
-
40
- def test_is_callable_build_prepare_url
41
- Resizing.configure = @configuration_template
42
-
43
- client = Resizing::Video::Client.new
44
- url = client.build_prepare_url
45
- assert_equal(url, 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/prepare')
46
- end
47
-
48
- def test_is_callable_prepare
49
- Resizing.configure = @configuration_template
50
-
51
- client = Resizing::Video::Client.new
52
- VCR.use_cassette 'video/prepare/success', record: :once do
53
- base_url = 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d'
54
- r = client.prepare
55
- assert_equal(r['id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
56
- assert_equal(r['project_id'], Resizing.configure.project_id)
57
- assert_equal(r['state'], 'initialized')
58
- assert_nil(r['deleted_at'])
59
- # assert_nil(r['source_uri']) # TODO: remove
60
- assert(r['s3_presigned_url'] != nil)
61
- assert_nil(r['converted_uri']) # TODO:remove
62
- assert(r['created_at'] != nil)
63
- assert(r['updated_at'] != nil)
64
- assert(r['upload_completed_url'], "#{base_url}/upload_completed")
65
- assert(r['self_url'], "#{base_url}.json")
66
- assert_nil(r['m3u8_url'])
67
- assert_nil(r['avc_url'])
68
- assert_nil(r['hevc_url'])
69
- assert_includes(r['thumbnail_url'], 'now-converting')
70
- end
71
- end
72
-
73
- def test_is_timeout_with_prepare_method
74
- Resizing.configure = @configuration_template.merge(project_id: 'timeout_project_id')
75
-
76
- client = Resizing::Video::Client.new
77
- assert_raises Resizing::APIError do
78
- client.prepare
79
- end
80
- end
81
-
82
- def test_is_callable_upload_complete_with_response
83
- Resizing.configure = @configuration_template
84
-
85
- client = Resizing::Video::Client.new
86
- r = nil
87
- VCR.use_cassette 'video/prepare/success', record: :once do
88
- r = client.prepare
89
- end
90
-
91
- VCR.use_cassette 'video/upload_completed/success', record: :once do
92
- r = client.upload_completed r
93
- assert_upload_completed_response r
94
- end
95
- end
96
-
97
- def test_is_callable_upload_complete_with_string
98
- Resizing.configure = @configuration_template
99
-
100
- client = Resizing::Video::Client.new
101
- r = nil
102
- VCR.use_cassette 'video/prepare/success', record: :once do
103
- r = client.prepare
104
- end
105
-
106
- VCR.use_cassette 'video/upload_completed/success', record: :once do
107
- r = client.upload_completed r['upload_completed_url']
108
- assert_upload_completed_response r
109
- end
110
- end
111
-
112
- def test_is_callable_metadata_with_response
113
- Resizing.configure = @configuration_template
114
-
115
- client = Resizing::Video::Client.new
116
- r = nil
117
- VCR.use_cassette 'video/prepare/success', record: :once do
118
- r = client.prepare
119
- end
120
-
121
- completed_response = nil
122
- VCR.use_cassette 'video/upload_completed/success', record: :once do
123
- completed_response = client.upload_completed r['upload_completed_url']
124
- end
125
-
126
- VCR.use_cassette 'video/metadata/success', record: :once do
127
- r = client.metadata r
128
- assert_equal(completed_response, r)
129
- end
130
- end
131
-
132
- def assert_upload_completed_response r
133
- base_url = 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d'
134
- assert_equal(r['id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
135
- assert_equal(r['project_id'], Resizing.configure.project_id)
136
- assert_equal(r['state'], 'uploaded')
137
- assert_nil(r['deleted_at'])
138
- # assert(r['source_uri'] != nil) # TODO: remove
139
- assert(r['s3_presigned_url'] != nil)
140
- # assert_equal(r['converted_uri'], "#{base_url}/") # TODO:remove
141
- assert(r['created_at'] != nil)
142
- assert(r['updated_at'] != nil)
143
- assert(r['upload_completed_url'], "#{base_url}/upload_completed")
144
- assert(r['self_url'], "#{base_url}.json")
145
- assert_nil(r['m3u8_url'])
146
- assert_nil(r['avc_url'])
147
- assert_nil(r['hevc_url'])
148
- assert_includes(r['thumbnail_url'], 'now-converting')
149
- assert_equal(r['job_state']['id'], 'a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5')
150
- assert_equal(r['job_state']['upload_video_id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
151
- assert_equal(r['job_state']['state'], 'initialized')
152
- assert_equal(r['job_state']['job_percent_complete'], 0)
153
- assert(r['job_state']['created_at'] != nil)
154
- assert(r['job_state']['updated_at'] != nil)
155
- end
156
- end
157
- end
158
- end
@@ -1,47 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v1.0.1
12
- X-ResizingToken:
13
- - v1,1611308558,a02cf32edef894208f6d1bc17cc6182783728e2b2edfdca1bf6b3109fe37a58d
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - SAMEORIGIN
21
- x-xss-protection:
22
- - 1; mode=block
23
- x-content-type-options:
24
- - nosniff
25
- x-download-options:
26
- - noopen
27
- x-permitted-cross-domain-policies:
28
- - none
29
- referrer-policy:
30
- - strict-origin-when-cross-origin
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - W/"f2386fd24b9a80cecab7721608aa8902"
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 84895278-9508-45c0-a7dc-d1087dc68813
39
- x-runtime:
40
- - '0.023674'
41
- transfer-encoding:
42
- - chunked
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","state":"uploaded","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":"s3://resizing-bucket-development-video/videos/converted/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.878Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":{"id":"a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5","upload_video_id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"initialized","job_percent_complete":0,"created_at":"2021-01-22T09:42:38.501Z","updated_at":"2021-01-22T09:42:38.501Z"}}'
46
- recorded_at: Fri, 22 Jan 2021 09:42:38 GMT
47
- recorded_with: VCR 6.0.0
@@ -1,47 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/prepare
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v1.0.1
12
- X-ResizingToken:
13
- - v1,1611308557,6628235db472f228a7c3c6b309e081b6c32aac01890abbfd2f38230ff4105c1c
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - SAMEORIGIN
21
- x-xss-protection:
22
- - 1; mode=block
23
- x-content-type-options:
24
- - nosniff
25
- x-download-options:
26
- - noopen
27
- x-permitted-cross-domain-policies:
28
- - none
29
- referrer-policy:
30
- - strict-origin-when-cross-origin
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - W/"273d4e663c17e06deb0c69cc90bb79b6"
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - e586873a-9cc9-45a0-a216-5e62165cb9f1
39
- x-runtime:
40
- - '0.046932'
41
- transfer-encoding:
42
- - chunked
43
- body:
44
- encoding: UTF-8
45
- string: '{"id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","state":"initialized","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":null,"created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.670Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":null}'
46
- recorded_at: Fri, 22 Jan 2021 09:42:37 GMT
47
- recorded_with: VCR 6.0.0
@@ -1,47 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: put
5
- uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v1.0.1
12
- X-ResizingToken:
13
- - v1,1611308557,6628235db472f228a7c3c6b309e081b6c32aac01890abbfd2f38230ff4105c1c
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- x-frame-options:
20
- - SAMEORIGIN
21
- x-xss-protection:
22
- - 1; mode=block
23
- x-content-type-options:
24
- - nosniff
25
- x-download-options:
26
- - noopen
27
- x-permitted-cross-domain-policies:
28
- - none
29
- referrer-policy:
30
- - strict-origin-when-cross-origin
31
- content-type:
32
- - application/json; charset=utf-8
33
- etag:
34
- - W/"f7ce780fcb3afdb5077ccfee0564b182"
35
- cache-control:
36
- - max-age=0, private, must-revalidate
37
- x-request-id:
38
- - 8a79b573-8db2-474c-a994-9e1ff59bc6c1
39
- x-runtime:
40
- - '0.830313'
41
- transfer-encoding:
42
- - chunked
43
- body:
44
- encoding: UTF-8
45
- string: '{"project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"uploaded","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":"s3://resizing-bucket-development-video/videos/converted/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.878Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":{"id":"a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5","upload_video_id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"initialized","job_percent_complete":0,"created_at":"2021-01-22T09:42:38.501Z","updated_at":"2021-01-22T09:42:38.501Z"}}'
46
- recorded_at: Fri, 22 Jan 2021 09:42:38 GMT
47
- recorded_with: VCR 6.0.0