dandelion_s1 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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