Class: Ustyle::IconMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/ustyle/middleware/icon_middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ IconMiddleware

Returns a new instance of IconMiddleware.



7
8
9
10
# File 'lib/ustyle/middleware/icon_middleware.rb', line 7

def initialize(app, options = {})
  @app = app
  @icon_path = options[:path] || Ustyle.cloudfront_url("icons.svg", :icon, false, false)
end

Instance Method Details

#call(env) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/ustyle/middleware/icon_middleware.rb', line 12

def call(env)
  request = Rack::Request.new(env)
  if request.path == "/icons.svg"
    [200, {"Content-Type" => "image/svg+xml"}, [serve_icons.to_s]]
  else
    @app.call(env)
  end
end

#serve_iconsObject



21
22
23
24
25
# File 'lib/ustyle/middleware/icon_middleware.rb', line 21

def serve_icons
  uri = URI(@icon_path)
  res = Net::HTTP.get_response(uri)
  res.body
end