Sha256: 1c3b995a647e81fad37b57d627e9c085512ed0a515f0d027dd6917154ff18553
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
require "json" require "rack/request_police/version" require "rack/request_police/storage/base" require "rack/request_police/storage/redis" require "rack/request_police/storage/unit" require "rack/request_police/middleware" module Rack module RequestPolice class NoStorageFound < StandardError; end @@storage = nil @@method = [:get, :post, :delete, :patch] @@regex = nil @@headers = [] def self.configure yield self end def self.storage=(obj) @@storage = obj end def self.storage @@storage || fail(NoStorageFound) end def self.headers @@headers end def self.headers=(array) @@headers = array.map do |h| # because headers might be simple strings # or a hash we need to normalize them # and store all as hashes if h.is_a?(String) header(h) else h end end end def self.header(original_header_name, options = {}, &transformation) { original_header_name: original_header_name, storage_name: options.fetch(:storage_name) { original_header_name }, fallback_value: options.fetch(:fallback_value) { nil }, # if user provided no transformation, # simply return original header value transformation: transformation || ->(h){ h } } end def self.method @@method end def self.method=(array) @@method = array end def self.regex @@regex end def self.regex=(regular_expression) @@regex = regular_expression end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rack-request_police-0.1.0alpha2 | lib/rack/request_police.rb |
rack-request_police-0.1.0alpha | lib/rack/request_police.rb |