diff options
author | Azul <azul@riseup.net> | 2016-08-27 11:25:30 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-08-29 08:59:58 +0200 |
commit | 16d77cc03068b19791e704abfc2eb14f8cd141f0 (patch) | |
tree | a6d5f0b6fbe32fed887d9506150b1082297d49d8 /lib/nickserver/request.rb | |
parent | 47343fad827ac2bef2ed7bc08768e4e58ac9a95f (diff) |
expose Request class from RequestHandler
This way we can separate the EmailHandler and the FingerprintHandler as well.
Diffstat (limited to 'lib/nickserver/request.rb')
-rw-r--r-- | lib/nickserver/request.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/nickserver/request.rb b/lib/nickserver/request.rb new file mode 100644 index 0000000..c21c280 --- /dev/null +++ b/lib/nickserver/request.rb @@ -0,0 +1,30 @@ +module Nickserver + class Request + def initialize(params, headers) + @params = params || {} + @headers = headers + end + + def email + param("address") + end + + def fingerprint + param("fingerprint") + end + + def domain + host_header = headers['Host'] || '' + domain_part = host_header.split(':')[0] || '' + domain_part.strip.sub(/^nicknym\./, '') + end + + protected + + def param(key) + params[key] && params[key].first + end + + attr_reader :params, :headers + end +end |