summaryrefslogtreecommitdiff
path: root/lib/nickserver/request.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/request.rb')
-rw-r--r--lib/nickserver/request.rb30
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