class Ustyle::IconMiddleware

Public Class Methods

new(app, options = {}) click to toggle source
# 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

Public Instance Methods

call(env) click to toggle source
# 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_icons() click to toggle source
# 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