Harbor::Request
Parent
Rack::Request
Attributes
Public Class Methods
Public Instance Methods
bot?()
# File lib/harbor/request.rb, line 59 59: def bot? 60: user_agent = env["HTTP_USER_AGENT"] 61: BOT_AGENTS.any? { |bot_agent| user_agent =~ bot_agent } 62: end
environment()
# File lib/harbor/request.rb, line 86 86: def environment 87: @env['APP_ENVIRONMENT'] || (@application ? @application.environment : "development") 88: end
fetch(key, default_value = nil)
# File lib/harbor/request.rb, line 51 51: def fetch(key, default_value = nil) 52: if (value = self[key]).nil? || value == '' 53: default_value 54: else 55: value 56: end 57: end
message(key)
# File lib/harbor/request.rb, line 120 120: def message(key) 121: messages[key] 122: end
messages()
# File lib/harbor/request.rb, line 116 116: def messages 117: @messages ||= session[:messages] = Messages.new(session[:messages]) 118: end
params()
# File lib/harbor/request.rb, line 90 90: def params 91: params = begin 92: self.GET && self.GET.update(self.POST || {}) 93: rescue EOFError => e 94: self.GET 95: end 96: 97: params || {} 98: end
path()
Returns
| String: | The URI without the query string. Strips trailing “/” and reduces duplicate “/” to a single “/”. |
# File lib/harbor/request.rb, line 128 128: def path 129: path = (uri.empty? ? '/' : uri.split('?').first).squeeze("/") 130: path = path[0..-2] if (path[-1] == ?/) && path.size > 1 131: path 132: end
protocol()
# File lib/harbor/request.rb, line 100 100: def protocol 101: ssl? ? 'https://' : 'http://' 102: end
referer()
# File lib/harbor/request.rb, line 108 108: def referer 109: @env['HTTP_REFERER'] 110: end
remote_ip()
# File lib/harbor/request.rb, line 76 76: def remote_ip 77: # handling proxied environments 78: env["HTTP_X_FORWARDED_FOR"] || env["HTTP_CLIENT_IP"] || env["REMOTE_ADDR"] 79: end
request_method()
# File lib/harbor/request.rb, line 81 81: def request_method 82: @env['REQUEST_METHOD'] = self.POST['_method'].upcase if request_method_in_params? 83: @env['REQUEST_METHOD'] 84: end
session(key = nil)
# File lib/harbor/request.rb, line 68 68: def session(key = nil) 69: @session ||= Harbor::Session.new(self, key) 70: end
ssl?()
# File lib/harbor/request.rb, line 104 104: def ssl? 105: @env['HTTPS'] == 'on' || @env['HTTP_X_FORWARDED_PROTO'] == 'https' 106: end