-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.ru
More file actions
70 lines (50 loc) · 1.19 KB
/
config.ru
File metadata and controls
70 lines (50 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
require 'rubygems'
require 'rack'
require 'home'
require 'xmlrpc.rb'
require 'torrentlist'
require 'warden'
require 'ajaxCmds'
server = XmlrpcClient.new
use Rack::Session::Cookie
use Warden::Manager do |manager|
manager.default_strategies :password, :basic
manager.failure_app = lambda {|env| login(env)}
end
Warden::Strategies.add(:password) do
def authenticate!
if request['username'] == "test" && request['password'] == "test"
success!(request['username'])
#puts "succeeded"
else
fail!("Could not log in")
#puts "fail"
end
end
end
def login(env)
[200, {"Content-Type" => "text/html"}, ['
<HTML>
<HEAD>
<TITLE>HTML form tutorial example</TITLE>
</HEAD>
<BODY>
<H1>wehbApp login</H1>
<FORM ACTION="/" METHOD="POST">
Username: <INPUT TYPE="TEXT" NAME="username" VALUE="" SIZE="25" MAXLENGTH="50"> <BR>
Password: <INPUT TYPE="TEXT" NAME="password" VALUE="" SIZE="25" MAXLENGTH="50"><BR>
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Login!">
</FORM>
</BODY>
</HTML>']]
end
use Rack::CommonLogger
map '/' do
run Home.new
end
map '/torrentlist' do
run Torrentlist.new(server)
end
map '/ajaxcmd' do
run AjaxCmds.new
end