filestack 2.8.1 → 2.9.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency "typhoeus", "~> 1.1"
26
26
  spec.add_dependency "parallel", "~> 1.11", ">= 1.11.2"
27
- spec.add_dependency "mimemagic", "~> 0.3.2"
27
+ spec.add_dependency "mini_mime", "~> 1.0"
28
28
  spec.add_dependency "progress_bar"
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.7"
@@ -1,7 +1,7 @@
1
1
  require 'filestack/config'
2
2
  require 'filestack/utils/utils'
3
3
  require 'filestack/utils/multipart_upload_utils'
4
- require 'mimemagic'
4
+ require 'mini_mime'
5
5
  require 'json'
6
6
 
7
7
  # Module is mixin for common functionalities that all Filestack
@@ -58,7 +58,7 @@ module FilestackCommon
58
58
  return 'Overwrite requires security' if security.nil?
59
59
 
60
60
  file = File.open(filepath, 'r')
61
- mimetype = MimeMagic.by_magic(file)
61
+ mimetype = MiniMime.lookup_by_filename(file).content_type
62
62
  content = file.read
63
63
 
64
64
  signature = security.signature
@@ -10,7 +10,7 @@ require 'filestack/mixins/filestack_common'
10
10
  class FilestackFilelink
11
11
  include FilestackCommon
12
12
  include UploadUtils
13
- attr_reader :handle, :apikey, :security
13
+ attr_reader :handle, :apikey, :security, :upload_response
14
14
 
15
15
  # Initialize FilestackFilelink
16
16
  #
@@ -18,10 +18,11 @@ class FilestackFilelink
18
18
  # @param [String] apikey Your Filestack API Key (optional)
19
19
  # @param [FilestackSecurity] security Filestack security object, if
20
20
  # security is enabled.
21
- def initialize(handle, apikey: nil, security: nil)
21
+ def initialize(handle, apikey: nil, security: nil, upload_response: nil)
22
22
  @handle = handle
23
23
  @apikey = apikey
24
24
  @security = security
25
+ @upload_response = upload_response
25
26
  end
26
27
 
27
28
  # Get content of filelink
@@ -42,7 +42,7 @@ class FilestackClient
42
42
  multipart_upload(@apikey, filepath, io, @security, options, timeout, storage, intelligent)
43
43
  end
44
44
 
45
- FilestackFilelink.new(response['handle'], security: @security, apikey: @apikey)
45
+ FilestackFilelink.new(response['handle'], security: @security, apikey: @apikey, upload_response: response)
46
46
  end
47
47
  # Transform an external URL
48
48
  #
@@ -1,5 +1,5 @@
1
1
  module Filestack
2
2
  module Ruby
3
- VERSION = '2.8.1'.freeze
3
+ VERSION = '2.9.6'.freeze
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  require 'base64'
2
2
  require 'timeout'
3
3
  require 'digest'
4
- require 'mimemagic'
4
+ require 'mini_mime'
5
5
  require 'json'
6
6
  require 'parallel'
7
7
  require 'typhoeus'
@@ -16,7 +16,7 @@ module MultipartUploadUtils
16
16
 
17
17
  def get_file_attributes(file, options = {})
18
18
  filename = options[:filename] || File.basename(file)
19
- mimetype = options[:mimetype] || MimeMagic.by_magic(File.open(file)) || FilestackConfig::DEFAULT_UPLOAD_MIMETYPE
19
+ mimetype = options[:mimetype] || get_mimetype_from_file(file) || FilestackConfig::DEFAULT_UPLOAD_MIMETYPE
20
20
  filesize = File.size(file)
21
21
 
22
22
  [filename, filesize, mimetype.to_s]
@@ -280,4 +280,12 @@ module MultipartUploadUtils
280
280
  end
281
281
  JSON.parse(response_complete.body)
282
282
  end
283
+
284
+ private
285
+
286
+ def get_mimetype_from_file(file)
287
+ file_info = MiniMime.lookup_by_filename(File.open(file))
288
+
289
+ file_info ? file_info.content_type : nil
290
+ end
283
291
  end
@@ -1,7 +1,7 @@
1
1
  require 'base64'
2
2
  require 'digest'
3
3
  require 'fiber'
4
- require 'mimemagic'
4
+ require 'mini_mime'
5
5
  require 'json'
6
6
  require 'typhoeus'
7
7
 
@@ -58,7 +58,7 @@ module UploadUtils
58
58
  FilestackConfig::HEADERS
59
59
  end
60
60
  Typhoeus.public_send(
61
- action, url, params: parameters, headers: headers
61
+ action, URI.encode(url), params: parameters, headers: headers
62
62
  )
63
63
  end
64
64
 
@@ -102,8 +102,7 @@ module UploadUtils
102
102
  if response.code == 200
103
103
  begin
104
104
  response_body = JSON.parse(response.body)
105
- handle = response_body['url'].split('/').last
106
- return { 'handle' => handle }
105
+ return response_body
107
106
  rescue
108
107
  raise response.body
109
108
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filestack
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 2.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filestack
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-02 00:00:00.000000000 Z
11
+ date: 2021-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -45,19 +45,19 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: 1.11.2
47
47
  - !ruby/object:Gem::Dependency
48
- name: mimemagic
48
+ name: mini_mime
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.3.2
53
+ version: '1.0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.3.2
60
+ version: '1.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: progress_bar
63
63
  requirement: !ruby/object:Gem::Requirement