social-avatar-proxy 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,13 +5,12 @@ require "rack"
5
5
  module SocialAvatarProxy
6
6
  class App
7
7
  def self.call(env, options = {})
8
- new(env, options).response.finish
8
+ new(options).call(env)
9
9
  end
10
10
 
11
- attr_reader :options
11
+ attr_reader :options, :request
12
12
 
13
- def initialize(env, options = {})
14
- @request = Rack::Request.new(env)
13
+ def initialize(options = {})
15
14
  @options = {
16
15
  expires: 86400, # 1 day from now
17
16
  cache_control: {
@@ -22,13 +21,19 @@ module SocialAvatarProxy
22
21
  }.merge(options)
23
22
  end
24
23
 
25
- def not_found
26
- Rack::Response.new("Not Found", 404)
24
+ def call(env)
25
+ @request = Rack::Request.new(env)
26
+ # return the response
27
+ response.finish
28
+ end
29
+
30
+ def path_prefix
31
+ request.env["SCRIPT_NAME"].gsub(/\/$/, "")
27
32
  end
28
33
 
29
34
  def response
30
35
  # ensure this is a valid avatar request
31
- unless @request.path =~ /^\/(facebook|twitter)\/([\w\-\.]+)(\.(jpe?g|png|gif|bmp))?$/i
36
+ unless request.path =~ /^#{path_prefix}\/(facebook|twitter)\/([\w\-\.]+)(\.(jpe?g|png|gif|bmp))?$/i
32
37
  return not_found
33
38
  end
34
39
  # load the avatar
@@ -63,6 +68,10 @@ module SocialAvatarProxy
63
68
  end
64
69
  end
65
70
 
71
+ def not_found
72
+ Rack::Response.new("Not Found", 404)
73
+ end
74
+
66
75
  private
67
76
  def load_avatar(service, id)
68
77
  # titleize the service name
@@ -1,3 +1,3 @@
1
1
  module SocialAvatarProxy
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social-avatar-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -136,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
136
  version: '0'
137
137
  segments:
138
138
  - 0
139
- hash: -3304292752345164634
139
+ hash: -4225642886398576553
140
140
  required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  none: false
142
142
  requirements:
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
145
  version: '0'
146
146
  segments:
147
147
  - 0
148
- hash: -3304292752345164634
148
+ hash: -4225642886398576553
149
149
  requirements: []
150
150
  rubyforge_project:
151
151
  rubygems_version: 1.8.24