image_vise 0.2.4 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -1
- data/image_vise.gemspec +3 -3
- data/lib/image_vise/render_engine.rb +6 -3
- data/lib/image_vise/version.rb +1 -1
- data/spec/image_vise/render_engine_spec.rb +3 -1
- metadata +15 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 037b10ccb40b25cf245f7751d99085e67cca8552
|
4
|
+
data.tar.gz: 43a7c0779a8ee07bc6a1da19bf98e1ca41c091c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b9e8e91a62ccabe54fe2fa12c24dc2ef6e2b8c64f63e2f7d90d62ace373e7cef776c3fab84d0823ab3577340a6eb202e4077acc8ebbbabb26e2f5dc168b6138
|
7
|
+
data.tar.gz: 51b7013be378b9e72faa23f6d9c94895ce11915622509459406da9814ba5388d1c1ef99d8d0b183c5ab9c04a2359d01ce40fc350fe9738d18cd4f5c9b09dadbd
|
data/README.md
CHANGED
@@ -20,6 +20,18 @@ A request to `ImageVise` might look like this:
|
|
20
20
|
The URL that gets generated is best composed with the included `ImageVise.image_params` method. This method will
|
21
21
|
take care of encoding the source URL and the commands in the right way, as well as signing.
|
22
22
|
|
23
|
+
## ImageMagick version workaround
|
24
|
+
|
25
|
+
As specified in [this StackOverflow answer](https://stackoverflow.com/questions/41647979/imagemagick-7-with-rmagick-2-16-on-macos-sierra-cant-find-magickwand-h/41747901#41747901) you need to install ImageMagick 6 from keg on OSX since RMagick cannot yet cope with ImageMagick 7.
|
26
|
+
|
27
|
+
```
|
28
|
+
$ brew rm imagemagick
|
29
|
+
$ brew install imagemagick@6 --with-little-cms --with-little-cms2
|
30
|
+
$ brew link imagemagick@6 --force
|
31
|
+
$ export PATH=$PATH:$(brew --prefix imagemagick@6)/bin
|
32
|
+
bundle install
|
33
|
+
```
|
34
|
+
|
23
35
|
## Using ImageVise within a Rails application
|
24
36
|
|
25
37
|
Mount ImageVise in your `routes.rb`:
|
@@ -211,4 +223,4 @@ The licensing terms also apply to the `waterside_magic_hour.jpg` test image.
|
|
211
223
|
The `worker_in_tube.jpg` is used with permission from Arcadis Nederland B.V.
|
212
224
|
|
213
225
|
The sRGB color profiles are [downloaded from the ICC](http://www.color.org/srgbprofiles.xalter) and it's
|
214
|
-
use is governed by the terms present in the LICENSE.txt
|
226
|
+
use is governed by the terms present in the LICENSE.txt
|
data/image_vise.gemspec
CHANGED
@@ -31,12 +31,12 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'rmagick', '~> 2.15'
|
32
32
|
spec.add_dependency 'ks'
|
33
33
|
spec.add_dependency 'magic_bytes', '~> 1'
|
34
|
-
spec.add_dependency 'rack', '
|
34
|
+
spec.add_dependency 'rack', '>= 1', '< 3'
|
35
35
|
|
36
36
|
spec.add_development_dependency "bundler", "~> 1.7"
|
37
|
-
spec.add_development_dependency "rake", "~>
|
37
|
+
spec.add_development_dependency "rake", "~> 12.2"
|
38
38
|
spec.add_development_dependency "rack-test"
|
39
|
-
spec.add_development_dependency "rspec", "~> 3
|
39
|
+
spec.add_development_dependency "rspec", "~> 3"
|
40
40
|
spec.add_development_dependency "addressable"
|
41
41
|
spec.add_development_dependency "strenv"
|
42
42
|
spec.add_development_dependency "simplecov"
|
@@ -109,9 +109,12 @@
|
|
109
109
|
# Prevent cache bypass DOS attacks by only permitting :sig and :q
|
110
110
|
bail(400, 'Query strings are not supported') if rack_request.params.any?
|
111
111
|
|
112
|
-
#
|
113
|
-
#
|
114
|
-
# to worry about them.
|
112
|
+
# Take the last two path components of the request URI.
|
113
|
+
# The second-to-last is the Base64-encoded image request, the last is the signature.
|
114
|
+
# Slashes within the image request are masked out already, no need to worry about them.
|
115
|
+
# Parameters are passed in the path so that ImageVise integrates easier with CDNs and so that
|
116
|
+
# it becomes harder to blow the cache by appending spurious query string parameters and/or
|
117
|
+
# reordering query string parameters at will.
|
115
118
|
*, q_from_path, sig_from_path = rack_request.path_info.split('/')
|
116
119
|
|
117
120
|
# Raise if any of them are empty or blank
|
data/lib/image_vise/version.rb
CHANGED
@@ -5,6 +5,9 @@ describe ImageVise::RenderEngine do
|
|
5
5
|
include Rack::Test::Methods
|
6
6
|
|
7
7
|
let(:app) { ImageVise::RenderEngine.new }
|
8
|
+
before :each do
|
9
|
+
ImageVise.reset_cache_lifetime_seconds!
|
10
|
+
end
|
8
11
|
|
9
12
|
context 'when the subclass is configured to raise exceptions' do
|
10
13
|
after :each do
|
@@ -37,7 +40,6 @@ describe ImageVise::RenderEngine do
|
|
37
40
|
after :each do
|
38
41
|
ImageVise.reset_allowed_hosts!
|
39
42
|
ImageVise.reset_secret_keys!
|
40
|
-
ImageVise.reset_cache_lifetime_seconds!
|
41
43
|
end
|
42
44
|
|
43
45
|
it 'halts with 400 when the requested image cannot be opened by ImageMagick' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_vise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: patron
|
@@ -70,16 +70,22 @@ dependencies:
|
|
70
70
|
name: rack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1'
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '3'
|
76
79
|
type: :runtime
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
79
82
|
requirements:
|
80
|
-
- - "
|
83
|
+
- - ">="
|
81
84
|
- !ruby/object:Gem::Version
|
82
85
|
version: '1'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: bundler
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +106,14 @@ dependencies:
|
|
100
106
|
requirements:
|
101
107
|
- - "~>"
|
102
108
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
109
|
+
version: '12.2'
|
104
110
|
type: :development
|
105
111
|
prerelease: false
|
106
112
|
version_requirements: !ruby/object:Gem::Requirement
|
107
113
|
requirements:
|
108
114
|
- - "~>"
|
109
115
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
116
|
+
version: '12.2'
|
111
117
|
- !ruby/object:Gem::Dependency
|
112
118
|
name: rack-test
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +134,14 @@ dependencies:
|
|
128
134
|
requirements:
|
129
135
|
- - "~>"
|
130
136
|
- !ruby/object:Gem::Version
|
131
|
-
version: '3
|
137
|
+
version: '3'
|
132
138
|
type: :development
|
133
139
|
prerelease: false
|
134
140
|
version_requirements: !ruby/object:Gem::Requirement
|
135
141
|
requirements:
|
136
142
|
- - "~>"
|
137
143
|
- !ruby/object:Gem::Version
|
138
|
-
version: '3
|
144
|
+
version: '3'
|
139
145
|
- !ruby/object:Gem::Dependency
|
140
146
|
name: addressable
|
141
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
288
|
version: '0'
|
283
289
|
requirements: []
|
284
290
|
rubyforge_project:
|
285
|
-
rubygems_version: 2.
|
291
|
+
rubygems_version: 2.6.11
|
286
292
|
signing_key:
|
287
293
|
specification_version: 4
|
288
294
|
summary: Runtime thumbnailing proxy
|