Sha256: c94c900e18bd45ae671bb02c932a629f83b4fee5b5793a505335f7525659afef
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
require "uri" require "rack/utils" module Vidibus module Secure module Extensions # Contains extensions of ApplicationController. module Controller extend ActiveSupport::Concern included do helper_method :valid_request? end # Generates a signature of a request path. # Will use the current request.fullpath unless an URI is given. # # The given URI will be decomposed into path and request params. # A given +signature_param+ will be removed, all remaining params # will be ordered alphabetically. # # Usage: # # valid_request?("mysecret") # valid_request?("mysecret", :uri => "http://...", :method => "get", :params => {}) # def valid_request?(secret, options = {}) method = options.delete(:method) || request.method uri = options.delete(:uri) || request.protocol + request.host_with_port + request.fullpath params = options.delete(:params) || begin query = URI.parse(uri).query query ? Rack::Utils.parse_query(query) : {} end Vidibus::Secure.verify_request(method, uri, params, secret) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vidibus-secure-0.0.2 | lib/vidibus/secure/extensions/controller.rb |