summaryrefslogtreecommitdiff
path: root/http-srp.rb
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-06-26 17:33:57 +0200
committerAzul <azul@leap.se>2012-06-26 17:43:28 +0200
commitd0f10aab67ab679b17bfad76b242ecf7fc7177f6 (patch)
treecae8912570ab46d03cc40b57b3c275c19e5c4399 /http-srp.rb
parent81fb099211133c167376d90d8dfe06b2337672f2 (diff)
added simple sinatra app for demoing / testing
Diffstat (limited to 'http-srp.rb')
-rw-r--r--http-srp.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/http-srp.rb b/http-srp.rb
new file mode 100644
index 0000000..f57a6e1
--- /dev/null
+++ b/http-srp.rb
@@ -0,0 +1,47 @@
+require 'sinatra'
+require 'pp'
+
+class User
+
+ def self.current
+ # p "getting #{@current ? @current.login : 'nil'}"
+ @current ||= User.new
+ end
+
+ attr_accessor :login
+ attr_accessor :password
+ attr_accessor :active
+
+ def signup!(params)
+ self.login = params.delete('login')
+ p "signing up as #{login}"
+ self.password = params.delete('password')
+ self.active = false
+ end
+
+ def login!(params)
+ self.active = valid_login?(params[:login], params[:password])
+ end
+
+ def valid_login?(login, password)
+ (self.login == login) and (self.password == password)
+ end
+end
+
+get '/' do
+ @user = User.current
+ p "visiting / as #{@user.login}"
+ erb :index
+end
+
+post '/signup' do
+ @user = User.current
+ @user.signup!(params)
+ redirect '/'
+end
+
+post '/login' do
+ @user = User.current
+ @user.login!(params)
+ redirect '/'
+end