knjappserver 0.0.22 → 0.0.23
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.
- data/Gemfile +2 -2
- data/Gemfile.lock +3 -4
- data/VERSION +1 -1
- data/knjappserver.gemspec +8 -8
- data/lib/include/class_knjappserver.rb +1 -0
- data/lib/include/class_knjappserver_mailing.rb +5 -3
- data/lib/include/class_knjappserver_sessions.rb +2 -1
- data/lib/include/class_session.rb +2 -2
- data/lib/scripts/knjappserver_cgi.rb +7 -7
- metadata +90 -85
data/Gemfile
CHANGED
@@ -6,14 +6,14 @@ source "http://rubygems.org"
|
|
6
6
|
gem "knjrbfw"
|
7
7
|
gem "erubis"
|
8
8
|
gem "mail"
|
9
|
+
gem "tsafe"
|
9
10
|
|
10
11
|
# Add dependencies to develop your gem here.
|
11
12
|
# Include everything needed to run rake, tests, features, etc.
|
12
13
|
group :development do
|
13
14
|
gem "rspec", "~> 2.3.0"
|
14
|
-
gem "bundler", "
|
15
|
+
gem "bundler", ">= 1.0.0"
|
15
16
|
gem "jeweler", "~> 1.6.3"
|
16
17
|
gem "rcov", ">= 0"
|
17
18
|
gem "sqlite3" if RUBY_ENGINE != "jruby"
|
18
|
-
gem "json"
|
19
19
|
end
|
data/Gemfile.lock
CHANGED
@@ -9,8 +9,6 @@ GEM
|
|
9
9
|
bundler (~> 1.0)
|
10
10
|
git (>= 1.2.5)
|
11
11
|
rake
|
12
|
-
json (1.6.1)
|
13
|
-
json (1.6.1-java)
|
14
12
|
knjrbfw (0.0.8)
|
15
13
|
mail (2.3.0)
|
16
14
|
i18n (>= 0.4.0)
|
@@ -33,18 +31,19 @@ GEM
|
|
33
31
|
treetop (1.4.10)
|
34
32
|
polyglot
|
35
33
|
polyglot (>= 0.3.1)
|
34
|
+
tsafe (0.0.1)
|
36
35
|
|
37
36
|
PLATFORMS
|
38
37
|
java
|
39
38
|
ruby
|
40
39
|
|
41
40
|
DEPENDENCIES
|
42
|
-
bundler (
|
41
|
+
bundler (>= 1.0.0)
|
43
42
|
erubis
|
44
43
|
jeweler (~> 1.6.3)
|
45
|
-
json
|
46
44
|
knjrbfw
|
47
45
|
mail
|
48
46
|
rcov
|
49
47
|
rspec (~> 2.3.0)
|
50
48
|
sqlite3
|
49
|
+
tsafe
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.23
|
data/knjappserver.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{knjappserver}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.23"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kasper Johansen"]
|
12
|
-
s.date = %q{2012-05-
|
12
|
+
s.date = %q{2012-05-22}
|
13
13
|
s.description = %q{Which supports a lot of undocumented stuff.}
|
14
14
|
s.email = %q{k@spernj.org}
|
15
15
|
s.executables = ["check_running.rb", "knjappserver_start.rb"]
|
@@ -103,33 +103,33 @@ Gem::Specification.new do |s|
|
|
103
103
|
s.add_runtime_dependency(%q<knjrbfw>, [">= 0"])
|
104
104
|
s.add_runtime_dependency(%q<erubis>, [">= 0"])
|
105
105
|
s.add_runtime_dependency(%q<mail>, [">= 0"])
|
106
|
+
s.add_runtime_dependency(%q<tsafe>, [">= 0"])
|
106
107
|
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
107
|
-
s.add_development_dependency(%q<bundler>, ["
|
108
|
+
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
108
109
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.3"])
|
109
110
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
110
111
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
111
|
-
s.add_development_dependency(%q<json>, [">= 0"])
|
112
112
|
else
|
113
113
|
s.add_dependency(%q<knjrbfw>, [">= 0"])
|
114
114
|
s.add_dependency(%q<erubis>, [">= 0"])
|
115
115
|
s.add_dependency(%q<mail>, [">= 0"])
|
116
|
+
s.add_dependency(%q<tsafe>, [">= 0"])
|
116
117
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
117
|
-
s.add_dependency(%q<bundler>, ["
|
118
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
118
119
|
s.add_dependency(%q<jeweler>, ["~> 1.6.3"])
|
119
120
|
s.add_dependency(%q<rcov>, [">= 0"])
|
120
121
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
121
|
-
s.add_dependency(%q<json>, [">= 0"])
|
122
122
|
end
|
123
123
|
else
|
124
124
|
s.add_dependency(%q<knjrbfw>, [">= 0"])
|
125
125
|
s.add_dependency(%q<erubis>, [">= 0"])
|
126
126
|
s.add_dependency(%q<mail>, [">= 0"])
|
127
|
+
s.add_dependency(%q<tsafe>, [">= 0"])
|
127
128
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
128
|
-
s.add_dependency(%q<bundler>, ["
|
129
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
129
130
|
s.add_dependency(%q<jeweler>, ["~> 1.6.3"])
|
130
131
|
s.add_dependency(%q<rcov>, [">= 0"])
|
131
132
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
132
|
-
s.add_dependency(%q<json>, [">= 0"])
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
@@ -3,10 +3,11 @@ class Knjappserver
|
|
3
3
|
|
4
4
|
def initialize_mailing
|
5
5
|
require "knj/autoload/ping"
|
6
|
+
require "monitor"
|
6
7
|
|
7
8
|
@mails_waiting = []
|
8
|
-
@mails_mutex =
|
9
|
-
@mails_queue_mutex =
|
9
|
+
@mails_mutex = Monitor.new
|
10
|
+
@mails_queue_mutex = Monitor.new
|
10
11
|
@mails_timeout = self.timeout(:time => 10) do
|
11
12
|
self.mail_flush
|
12
13
|
end
|
@@ -29,7 +30,8 @@ class Knjappserver
|
|
29
30
|
|
30
31
|
mailobj = Knjappserver::Mail.new({:kas => self, :errors => {}, :status => :waiting}.merge(mail_args))
|
31
32
|
STDOUT.print "Added mail '#{mailobj.__id__}' to the mail-send-queue.\n" if debug
|
32
|
-
@mails_waiting << mailobj
|
33
|
+
@mails_waiting << mailobj if mail_args[:now]
|
34
|
+
self.mail_flush
|
33
35
|
return mailobj
|
34
36
|
end
|
35
37
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby1.9.1
|
2
2
|
|
3
|
-
time_begin = Time.now
|
4
|
-
|
5
3
|
#This scripts start an appserver, executes a HTTP-request and terminates.
|
6
4
|
#Good for programming appserver-supported projects without running an appserver all the time,
|
7
5
|
#but really slow because of startup for every request.
|
@@ -65,21 +63,19 @@ begin
|
|
65
63
|
:cleaner => false,
|
66
64
|
:dbrev => false,
|
67
65
|
:mail_require => false,
|
66
|
+
:debug => false,
|
68
67
|
:port => 0 #Ruby picks random port and we get the actual port after starting the appserver.
|
69
68
|
}.merge(Knjappserver::CGI_CONF["knjappserver"])
|
70
69
|
knjappserver = Knjappserver.new(knjappserver_conf)
|
71
70
|
knjappserver.start
|
72
71
|
port = knjappserver.port
|
73
72
|
|
74
|
-
|
75
73
|
#Make request.
|
76
74
|
http = Knj::Http2.new(:host => "localhost", :port => port)
|
77
75
|
|
78
|
-
|
79
76
|
#Spawn CGI-variable to emulate FCGI part.
|
80
77
|
cgi = Cgi_is_retarded.new
|
81
78
|
|
82
|
-
|
83
79
|
#The rest is copied from the FCGI-part.
|
84
80
|
headers = {}
|
85
81
|
cgi.env_table.each do |key, val|
|
@@ -136,9 +132,13 @@ begin
|
|
136
132
|
})
|
137
133
|
end
|
138
134
|
rescue Exception => e
|
139
|
-
knjappserver.stop
|
140
|
-
|
141
135
|
print "Content-Type: text/html\r\n"
|
142
136
|
print "\n\n"
|
143
137
|
print Knj::Errors.error_str(e, {:html => true})
|
138
|
+
|
139
|
+
begin
|
140
|
+
knjappserver.stop if knjappserver
|
141
|
+
rescue => e
|
142
|
+
print "<br />\n<br />\n" + Knj::Errors.error_str(e, {:html => true})
|
143
|
+
end
|
144
144
|
end
|
metadata
CHANGED
@@ -1,126 +1,128 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: knjappserver
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.22
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.0.23
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Kasper Johansen
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
12
|
+
|
13
|
+
date: 2012-05-22 00:00:00 +02:00
|
13
14
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
16
17
|
name: knjrbfw
|
17
|
-
requirement: &
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
19
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
23
24
|
type: :runtime
|
24
25
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
27
28
|
name: erubis
|
28
|
-
requirement: &
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
29
30
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
38
39
|
name: mail
|
39
|
-
requirement: &
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version:
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
45
46
|
type: :runtime
|
46
47
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: tsafe
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: "0"
|
57
|
+
type: :runtime
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
49
61
|
name: rspec
|
50
|
-
requirement: &
|
62
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
51
63
|
none: false
|
52
|
-
requirements:
|
64
|
+
requirements:
|
53
65
|
- - ~>
|
54
|
-
- !ruby/object:Gem::Version
|
66
|
+
- !ruby/object:Gem::Version
|
55
67
|
version: 2.3.0
|
56
68
|
type: :development
|
57
69
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
70
|
+
version_requirements: *id005
|
71
|
+
- !ruby/object:Gem::Dependency
|
60
72
|
name: bundler
|
61
|
-
requirement: &
|
73
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
62
74
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
66
78
|
version: 1.0.0
|
67
79
|
type: :development
|
68
80
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
81
|
+
version_requirements: *id006
|
82
|
+
- !ruby/object:Gem::Dependency
|
71
83
|
name: jeweler
|
72
|
-
requirement: &
|
84
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
73
85
|
none: false
|
74
|
-
requirements:
|
86
|
+
requirements:
|
75
87
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
88
|
+
- !ruby/object:Gem::Version
|
77
89
|
version: 1.6.3
|
78
90
|
type: :development
|
79
91
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: *id007
|
93
|
+
- !ruby/object:Gem::Dependency
|
82
94
|
name: rcov
|
83
|
-
requirement: &
|
95
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
84
96
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version:
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: "0"
|
89
101
|
type: :development
|
90
102
|
prerelease: false
|
91
|
-
version_requirements: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
103
|
+
version_requirements: *id008
|
104
|
+
- !ruby/object:Gem::Dependency
|
93
105
|
name: sqlite3
|
94
|
-
requirement: &
|
95
|
-
none: false
|
96
|
-
requirements:
|
97
|
-
- - ! '>='
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '0'
|
100
|
-
type: :development
|
101
|
-
prerelease: false
|
102
|
-
version_requirements: *16521620
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: json
|
105
|
-
requirement: &16520740 !ruby/object:Gem::Requirement
|
106
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
106
107
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version:
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
111
112
|
type: :development
|
112
113
|
prerelease: false
|
113
|
-
version_requirements: *
|
114
|
+
version_requirements: *id009
|
114
115
|
description: Which supports a lot of undocumented stuff.
|
115
116
|
email: k@spernj.org
|
116
|
-
executables:
|
117
|
+
executables:
|
117
118
|
- check_running.rb
|
118
119
|
- knjappserver_start.rb
|
119
120
|
extensions: []
|
120
|
-
|
121
|
+
|
122
|
+
extra_rdoc_files:
|
121
123
|
- LICENSE.txt
|
122
124
|
- README.rdoc
|
123
|
-
files:
|
125
|
+
files:
|
124
126
|
- .document
|
125
127
|
- .rspec
|
126
128
|
- Gemfile
|
@@ -194,31 +196,34 @@ files:
|
|
194
196
|
- spec/spec_helper.rb
|
195
197
|
has_rdoc: true
|
196
198
|
homepage: http://github.com/kaspernj/knjappserver
|
197
|
-
licenses:
|
199
|
+
licenses:
|
198
200
|
- MIT
|
199
201
|
post_install_message:
|
200
202
|
rdoc_options: []
|
201
|
-
|
203
|
+
|
204
|
+
require_paths:
|
202
205
|
- lib
|
203
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
206
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
204
207
|
none: false
|
205
|
-
requirements:
|
206
|
-
- -
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
|
209
|
-
segments:
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
hash: -4394912517920739657
|
212
|
+
segments:
|
210
213
|
- 0
|
211
|
-
|
212
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
|
+
version: "0"
|
215
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
216
|
none: false
|
214
|
-
requirements:
|
215
|
-
- -
|
216
|
-
- !ruby/object:Gem::Version
|
217
|
-
version:
|
217
|
+
requirements:
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: "0"
|
218
221
|
requirements: []
|
222
|
+
|
219
223
|
rubyforge_project:
|
220
224
|
rubygems_version: 1.6.2
|
221
225
|
signing_key:
|
222
226
|
specification_version: 3
|
223
227
|
summary: A multi-threadded app-web-server.
|
224
228
|
test_files: []
|
229
|
+
|