dandelion_s1 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4a05e6e6bb8ae9266772efd9cb0acb112a9ea080
4
- data.tar.gz: 96bc27d7c4d69e0c2d264270dd32f7be33ae27a9
2
+ SHA256:
3
+ metadata.gz: 742f9d5aa097f2f2d5063ef9a719c393dbcb47d8d57631e766f0b6e021b842ea
4
+ data.tar.gz: 545c3ebdad0f17c382f64f81b849df7d4cbfeeafd9cbdcb67b84937d8324a871
5
5
  SHA512:
6
- metadata.gz: 26d04e12c6e4c99b20112703fd461176499e73868b75ba86f208acd204cf69e044e33b8e18b4abf9db527dbae6477b5a904581ba5ebc0887d30e86d01947144d
7
- data.tar.gz: 41ac1772805b24e868b916d36b5a54e9c2cfb5ed8931afc357098f17d7796677c1c2a2173627cc3b2c06a2192c406845f279429c3462e27dca565f8140cdf6e4
6
+ metadata.gz: 1ce3f848f51b192e2504def32c99981c540088517196d3b739fa425e608284d8867a0892e519b69e6d1857947da8c4da02716722bbc2bb09325989a02da20abb
7
+ data.tar.gz: 9bc34f279f800a4f5c57391ef866832fed6f02ee2268c0c44ab568f67c03f1e2dac17a9bc87707361b7f51ef56c8b76ae2abc3b32dd7ec5ed59a711b973d16ca
@@ -1,2 +1,4 @@
1
- �p���摜 ��S/����M�s-��ZI����J�F4F�"fO�G��'x�"}06Jˑ6z\9��Z�3'�y�W$љ�H�@Y�t��b-��#�sBZ*y�b���U����-�`�I܈��B��ކ�H���%�*�90Ψ<�J�~���{f��c�s�
2
- lU2�.G����A&�C;�� ��C �a���(#f����b̖R�
1
+ ���5ݿ]O�:�O (Ǜ5^o
2
+ �a���_oHh�-��1� x�n C�&zkz�Re wþRI
3
+ =k�����ɮ�
4
+ �r� �#��@h� _!$l@w(��d��S�A�,sg�I�H"�J(7�W��H�g9f�{�R�D�m_E;�����<��ve%]�����5��0��j��5��qB,�,���K�������3�a,
data.tar.gz.sig CHANGED
Binary file
@@ -32,12 +32,15 @@ class DandelionS1 < RackRscript
32
32
  .inject({}) {|r,x| r.merge(x => h[x])}
33
33
 
34
34
  super(h3)
35
+ @log.debug '@access_list: ' + @access_list.inspect if @log
36
+ @log.debug 'end of initialize' if @log
35
37
 
36
38
  end
37
39
 
38
40
  def call(e)
39
41
 
40
42
  request = e['REQUEST_PATH']
43
+ @log.debug 'request: ' + request.inspect if @log
41
44
 
42
45
  return super(e) if request == '/login'
43
46
  r = @access_list.detect {|k,v| request =~ Regexp.new(k)} if @access_list
@@ -46,7 +49,9 @@ class DandelionS1 < RackRscript
46
49
  req = Rack::Request.new(e)
47
50
  user = req.session[:username]
48
51
 
49
- return jumpto '/login' unless user
52
+ #@log.debug 'user: ' + user.inspect if @log
53
+ #@log.debug '@e: ' + e.inspect if @log
54
+ return jumpto '/login2?referer=' + e['PATH_INFO'] unless user
50
55
 
51
56
  if private_user.nil? then
52
57
  super(e)
@@ -63,10 +68,16 @@ class DandelionS1 < RackRscript
63
68
 
64
69
  def default_routes(env, params)
65
70
 
66
- get '/login' do
67
-
68
- login_form()
69
-
71
+ log = @log
72
+
73
+ get '/login2/*' do
74
+ params[:splat].inspect
75
+ redirect '/login' + params[:splat].first
76
+ end
77
+
78
+ get '/login/*' do
79
+ url = params[:splat].any? ? params[:splat][0][/(?<=referer=).*/] : '/'
80
+ login_form(referer: url)
70
81
  end
71
82
 
72
83
  post '/login' do
@@ -76,13 +87,15 @@ class DandelionS1 < RackRscript
76
87
  if @passwords[h['username']] == h['password'] then
77
88
 
78
89
  @req.session[:username] = h['username']
79
- 'you are now logged in as ' + h['username']
90
+ #'you are now logged in as ' + h['username']
91
+ redirect h['referer']
80
92
 
81
93
  else
82
94
 
83
95
  login_form('Invalid username or password, try again.',401)
84
96
 
85
97
  end
98
+
86
99
 
87
100
  end
88
101
 
@@ -119,7 +132,7 @@ class DandelionS1 < RackRscript
119
132
 
120
133
  end
121
134
 
122
- def login_form(msg='Log in to this site.', http_code=200)
135
+ def login_form(msg='Log in to this site.', http_code=200, referer: '/')
123
136
 
124
137
  s=<<EOF
125
138
  p #{msg}
@@ -127,8 +140,9 @@ p #{msg}
127
140
  login
128
141
  username: [ ]
129
142
  password: [ ]
130
-
131
- [login]('/login')
143
+ [! referer: #{referer}
144
+ ]
145
+ [login](/login)
132
146
  EOF
133
147
 
134
148
  [Martile.new(s).to_s, 'text/slim', http_code]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dandelion_s1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  1N8hBgTHd/hcz/i08u1weglfL0QBkOx9HzswCq9Iuesya/Zb40PJIbW4/A2pKm0o
31
31
  eek=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-07-23 00:00:00.000000000 Z
33
+ date: 2019-02-16 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: rack-rscript
@@ -41,7 +41,7 @@ dependencies:
41
41
  version: '1.1'
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 1.1.2
44
+ version: 1.1.4
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,7 +51,7 @@ dependencies:
51
51
  version: '1.1'
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 1.1.2
54
+ version: 1.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simple-config
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -78,20 +78,20 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.9'
81
+ version: '1.1'
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: 0.9.1
84
+ version: 1.1.5
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0.9'
91
+ version: '1.1'
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 0.9.1
94
+ version: 1.1.5
95
95
  description:
96
96
  email: james@jamesrobertson.eu
97
97
  executables: []
@@ -118,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.6.13
121
+ rubygems_version: 3.0.1
123
122
  signing_key:
124
123
  specification_version: 4
125
124
  summary: A kind of Rack-Rscript web server which facilitates static files, cookie
metadata.gz.sig CHANGED
Binary file