Skip to content

Commit

Permalink
Check parameters to session.new. Cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
ngiger committed Nov 8, 2016
1 parent 15c43b8 commit ab720d6
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 280 deletions.
6 changes: 2 additions & 4 deletions lib/sbsm/app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,11 @@
require 'sbsm/cgi'
require 'cgi/drbsession'
require 'sbsm/drbserver'

module SBSM
###
# App a base class for Webrick server
class App < SBSM::DRbServer
include DRbUndumped
SESSION_COOKIE_NAME = '_session_id'
PERSISTENT_COOKIE_NAME = "cookie-persistent-sbsm-1.3.1"
SBSM.info "PERSISTENT_COOKIE_NAME #{PERSISTENT_COOKIE_NAME}"

Expand Down Expand Up @@ -92,12 +90,12 @@ def initialize(app:, validator:, trans_handler:, persistence_layer: nil)
def call(env) ## mimick sbsm/lib/app.rb
request = Rack::Request.new(env)
response = Rack::Response.new
SBSM.info "cookies are #{request.cookies}"
if request.cookies[PERSISTENT_COOKIE_NAME] && request.cookies[PERSISTENT_COOKIE_NAME].length > 1
session_id = request.cookies[PERSISTENT_COOKIE_NAME]
else
session_id = rand((2**(0.size * 8 -2) -1)*10240000000000).to_s(16)
end
SBSM.info "cookies are #{request.cookies} for session_id #{session_id}"
file_name = File.expand_path(File.join('doc', request.path))
if File.file?(file_name)
if /css/i.match(File.basename(file_name))
Expand Down Expand Up @@ -126,7 +124,7 @@ def call(env) ## mimick sbsm/lib/app.rb
res = @proxy.drb_process(self, request)
response.write res
response.headers['Content-Type'] ||= 'text/html; charset=utf-8'
response.set_cookie(SESSION_COOKIE_NAME, session_id)
response.set_cookie(PERSISTENT_COOKIE_NAME, session_id)
@proxy.cookie_input.each{|key, value| response.set_cookie(key, value) }
SBSM.info "finish session_id #{session_id}: header #{response.headers}"
response.finish
Expand Down
37 changes: 18 additions & 19 deletions lib/sbsm/drbserver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
require 'thread'
require 'digest/md5'
require 'sbsm/logger'
require 'sbsm/validator'

module SBSM
class DRbServer < SimpleDelegator
Expand Down Expand Up @@ -80,7 +81,7 @@ def _admin(src, result, priority=0)
t
end
def async(&block)
binding.pry
SBSM.info "pry needed?"
@async.add(Thread.new(&block))
end
def cap_max_sessions(now = Time.now)
Expand Down Expand Up @@ -146,26 +147,24 @@ def run_cleaner
}
}
end
def dump_info
SBSM.info @sessions
end
def unknown_user
self::class::UNKNOWN_USER.new
end
def [](key)
@mutex.synchronize {
unless((s = @sessions[key]) && !s.expired?)
args = [key, self]
if(klass = self::class::VALIDATOR)
args.push(klass.new)
end
SBSM.info "add key #{key} args #{args.compact}" # #{caller.join("\n")}"
s = @sessions[key] = self::class::SESSION.new(*args.compact)
end
s.reset()
s.touch()
s
}
end
def [](key)
@mutex.synchronize {
unless((s = @sessions[key]) && !s.expired?)
args = [key, self]
if(klass = self::class::VALIDATOR)
args.push(klass.new)
else
args.push SBSM::Validator
end
s = @sessions[key] = self::class::SESSION.new(*args.compact)
end
s.reset()
s.touch()
s
}
end
end
end
1 change: 0 additions & 1 deletion lib/sbsm/logger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

require 'chrono_logger'
require 'sbsm/version'

module SBSM
@@logger = ChronoLogger.new("/tmp/sbsm_#{VERSION}.log.%Y%m%d")
# a simple logger, which makes it easy to compare the timing of the entries
Expand Down
2 changes: 1 addition & 1 deletion lib/sbsm/redirector.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
module SBSM
module Redirector
def http_headers
require 'pry'; binding.pry
SBSM.info "pry needed?"
if(redirect?)
@redirected = @state.redirected = true
event, *args = @state.direct_event
Expand Down
244 changes: 0 additions & 244 deletions lib/sbsm/request.rb

This file was deleted.

Loading

0 comments on commit ab720d6

Please sign in to comment.