spider-gazelle 0.1.4 → 0.1.5

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
2
  SHA1:
3
- metadata.gz: a635e54f6ee2156e7a387e7e84c9934b28591b2d
4
- data.tar.gz: c93b073acb5665495ccede21a2a817e87fc57328
3
+ metadata.gz: f6a756ed558bdc46b8db46b9e1886ec597ba766a
4
+ data.tar.gz: 4febcbc9a2684356b9f66c4d12d9c159073ac98b
5
5
  SHA512:
6
- metadata.gz: 54f76fcb8ec1e75541371a4e373031f5d0a127048581e0cecf74c22205c31e562a9865278369a122f017e9a692ee58913f322b9bb27c20947cf2b4c5a62ab916
7
- data.tar.gz: 39999c854db582de74be926631a5bff1ad2e6cda7354425622bdba6eef3cddd47eb8cd1bcb6d74b415b87a90b248d8a42425be5ed68a9f6bbc9e908c585a48e8
6
+ metadata.gz: 84b562e57f77ef237c176c751c0ef8f792fde9e140abda85a31cce25d86960a724326b793a2b39599e0af6f466dfb074318e1618b988302e6d3765010243fde7
7
+ data.tar.gz: bf84ab3586cbe74e0650c35d8ed5ab2c7bcb9ff9dc143d394ff9ea4622a256a68d5f38b4bd61a3e016dfe863eec02f335385ced6ef8534b0c2e7589214f12670
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
- spider-gazelle
2
- ==============
1
+ # spider-gazelle
2
+
3
3
 
4
4
  A fast, parallel and concurrent web server for ruby
5
5
 
@@ -7,3 +7,22 @@ Spidergazelle, spidergazelle amazingly agile, she leaps through the veldt,
7
7
  Spidergazelle, spidergazelle! She don’t care what you think, she says what the hell!
8
8
  Look out! Here comes the Spidergazelle!
9
9
 
10
+
11
+ ## Installation
12
+
13
+ 1. Ensure [Libuv](https://github.com/cotag/libuv) prerequisites are met
14
+ 2. `gem install spider-gazelle`
15
+
16
+
17
+ ## Usage
18
+
19
+ 1. Add to your gemfile.
20
+ 2. To run a rails app from the root of the app type `sg`
21
+ * this will work with any app / framework that uses `config.ru`
22
+ 3. For other rack apps use `sg -r rackfile.ru`
23
+
24
+
25
+ ## Options
26
+
27
+ For other command line options look at [the source](/bin/sg)
28
+
@@ -14,9 +14,9 @@ module SpiderGazelle
14
14
  @options = options
15
15
  @loop = loop
16
16
  @delegate = delegate
17
- @port = @options[:Port]
18
- @tls = @options[:tls]
19
- @optimize = @options[:optimize_for_latency]
17
+ @tls = @options[:tls] || false
18
+ @port = @options[:Port] || (@tls ? 443 : 80)
19
+ @optimize = @options[:optimize_for_latency] || true
20
20
 
21
21
  # Connection management functions
22
22
  @new_connection = method(:new_connection)
@@ -31,10 +31,11 @@ module SpiderGazelle
31
31
 
32
32
  KEEP_ALIVE = "Keep-Alive".freeze
33
33
 
34
+ CONTENT_LENGTH = 'CONTENT_LENGTH'.freeze
35
+ CONTENT_TYPE = 'CONTENT_TYPE'.freeze
36
+ DEFAULT_TYPE = 'text/plain'.freeze
34
37
  HTTP_CONTENT_LENGTH = 'HTTP_CONTENT_LENGTH'.freeze
35
38
  HTTP_CONTENT_TYPE = 'HTTP_CONTENT_TYPE'.freeze
36
- HTTP_AUTHORIZATION = 'AUTHORIZATION'.freeze
37
- HTTP_CONNECTION = 'HTTP_CONNECTION'.freeze
38
39
 
39
40
  SERVER_SOFTWARE = 'SERVER_SOFTWARE'.freeze
40
41
  SERVER = 'SpiderGazelle'.freeze
@@ -54,7 +55,6 @@ module SpiderGazelle
54
55
  'rack.run_once'.freeze => false, # this isn't CGI so will always be false
55
56
 
56
57
  'SCRIPT_NAME'.freeze => ENV['SCRIPT_NAME'] || EMPTY, # The virtual path of the app base (empty if root)
57
- 'CONTENT_TYPE'.freeze => 'text/plain', # works with Rack and Rack::Lint (source puma)
58
58
  'SERVER_PROTOCOL'.freeze => HTTP_11,
59
59
 
60
60
  GATEWAY_INTERFACE => CGI_VER,
@@ -81,12 +81,10 @@ module SpiderGazelle
81
81
  end
82
82
 
83
83
  def execute!
84
- @env.delete(HTTP_CONTENT_LENGTH)
85
- @env.delete(HTTP_CONTENT_TYPE)
86
- @env.delete(HTTP_AUTHORIZATION)
87
- @env.delete(HTTP_CONNECTION)
88
-
84
+ @env[CONTENT_LENGTH] = @env.delete(HTTP_CONTENT_LENGTH) || @body.length
85
+ @env[CONTENT_TYPE] = @env.delete(HTTP_CONTENT_TYPE) || DEFAULT_TYPE
89
86
  @env[REQUEST_URI] = @url.freeze
87
+
90
88
  # For Rack::Lint on 1.9, ensure that the encoding is always for spec
91
89
  @body.force_encoding('ASCII-8BIT') if @body.respond_to?(:force_encoding)
92
90
  @env[RACK_INPUT] = StringIO.new(@body)
@@ -1,3 +1,3 @@
1
1
  module SpiderGazelle
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spider-gazelle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen von Takach
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-28 00:00:00.000000000 Z
11
+ date: 2014-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
15
20
  requirement: !ruby/object:Gem::Requirement
16
21
  requirements:
17
- - - ">="
22
+ - - '>='
18
23
  - !ruby/object:Gem::Version
19
24
  version: '0'
20
- type: :runtime
21
25
  prerelease: false
26
+ type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: http-parser
22
29
  version_requirements: !ruby/object:Gem::Requirement
23
30
  requirements:
24
- - - ">="
31
+ - - '>='
25
32
  - !ruby/object:Gem::Version
26
33
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: http-parser
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
- - - ">="
36
+ - - '>='
32
37
  - !ruby/object:Gem::Version
33
38
  version: '0'
34
- type: :runtime
35
39
  prerelease: false
40
+ type: :runtime
41
+ - !ruby/object:Gem::Dependency
42
+ name: libuv
36
43
  version_requirements: !ruby/object:Gem::Requirement
37
44
  requirements:
38
- - - ">="
45
+ - - '>='
39
46
  - !ruby/object:Gem::Version
40
47
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: libuv
43
48
  requirement: !ruby/object:Gem::Requirement
44
49
  requirements:
45
- - - ">="
50
+ - - '>='
46
51
  - !ruby/object:Gem::Version
47
52
  version: '0'
48
- type: :runtime
49
53
  prerelease: false
54
+ type: :runtime
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack
50
57
  version_requirements: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ">="
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rack
61
+ version: 1.0.0
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
- - - ">="
64
+ - - '>='
60
65
  - !ruby/object:Gem::Version
61
66
  version: 1.0.0
62
- type: :runtime
63
67
  prerelease: false
68
+ type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ name: websocket-driver
64
71
  version_requirements: !ruby/object:Gem::Requirement
65
72
  requirements:
66
- - - ">="
73
+ - - '>='
67
74
  - !ruby/object:Gem::Version
68
- version: 1.0.0
69
- - !ruby/object:Gem::Dependency
70
- name: websocket-driver
75
+ version: '0'
71
76
  requirement: !ruby/object:Gem::Requirement
72
77
  requirements:
73
- - - ">="
78
+ - - '>='
74
79
  - !ruby/object:Gem::Version
75
80
  version: '0'
76
- type: :runtime
77
81
  prerelease: false
82
+ type: :runtime
83
+ - !ruby/object:Gem::Dependency
84
+ name: thread_safe
78
85
  version_requirements: !ruby/object:Gem::Requirement
79
86
  requirements:
80
- - - ">="
87
+ - - '>='
81
88
  - !ruby/object:Gem::Version
82
89
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: thread_safe
85
90
  requirement: !ruby/object:Gem::Requirement
86
91
  requirements:
87
- - - ">="
92
+ - - '>='
88
93
  - !ruby/object:Gem::Version
89
94
  version: '0'
90
- type: :runtime
91
95
  prerelease: false
96
+ type: :runtime
97
+ - !ruby/object:Gem::Dependency
98
+ name: radix
92
99
  version_requirements: !ruby/object:Gem::Requirement
93
100
  requirements:
94
- - - ">="
101
+ - - '>='
95
102
  - !ruby/object:Gem::Version
96
103
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: radix
99
104
  requirement: !ruby/object:Gem::Requirement
100
105
  requirements:
101
- - - ">="
106
+ - - '>='
102
107
  - !ruby/object:Gem::Version
103
108
  version: '0'
104
- type: :runtime
105
109
  prerelease: false
110
+ type: :runtime
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
106
113
  version_requirements: !ruby/object:Gem::Requirement
107
114
  requirements:
108
- - - ">="
115
+ - - '>='
109
116
  - !ruby/object:Gem::Version
110
117
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
118
  requirement: !ruby/object:Gem::Requirement
114
119
  requirements:
115
- - - ">="
120
+ - - '>='
116
121
  - !ruby/object:Gem::Version
117
122
  version: '0'
118
- type: :development
119
123
  prerelease: false
124
+ type: :development
125
+ - !ruby/object:Gem::Dependency
126
+ name: yard
120
127
  version_requirements: !ruby/object:Gem::Requirement
121
128
  requirements:
122
- - - ">="
129
+ - - '>='
123
130
  - !ruby/object:Gem::Version
124
131
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: yard
127
132
  requirement: !ruby/object:Gem::Requirement
128
133
  requirements:
129
- - - ">="
134
+ - - '>='
130
135
  - !ruby/object:Gem::Version
131
136
  version: '0'
132
- type: :development
133
137
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
138
+ type: :development
139
139
  description: |2
140
140
  Spidergazelle, spidergazelle, amazingly agile, she leaps through the veldt,
141
141
  Spidergazelle, spidergazelle! She don’t care what you think, she says what the hell!
@@ -148,6 +148,7 @@ extensions: []
148
148
  extra_rdoc_files:
149
149
  - README.md
150
150
  files:
151
+ - lib/spider-gazelle.rb
151
152
  - lib/rack/handler/spider-gazelle.rb
152
153
  - lib/spider-gazelle/app_store.rb
153
154
  - lib/spider-gazelle/binding.rb
@@ -156,9 +157,8 @@ files:
156
157
  - lib/spider-gazelle/gazelle.rb
157
158
  - lib/spider-gazelle/request.rb
158
159
  - lib/spider-gazelle/spider.rb
159
- - lib/spider-gazelle/upgrades/websocket.rb
160
160
  - lib/spider-gazelle/version.rb
161
- - lib/spider-gazelle.rb
161
+ - lib/spider-gazelle/upgrades/websocket.rb
162
162
  - bin/sg
163
163
  - Rakefile
164
164
  - spider-gazelle.gemspec
@@ -168,25 +168,25 @@ homepage: https://github.com/cotag/spider-gazelle
168
168
  licenses:
169
169
  - MIT
170
170
  metadata: {}
171
- post_install_message:
171
+ post_install_message:
172
172
  rdoc_options: []
173
173
  require_paths:
174
174
  - lib
175
175
  required_ruby_version: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ">="
177
+ - - '>='
178
178
  - !ruby/object:Gem::Version
179
179
  version: '0'
180
180
  required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  requirements:
182
- - - ">="
182
+ - - '>='
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.0.3
188
- signing_key:
186
+ rubyforge_project:
187
+ rubygems_version: 2.1.11
188
+ signing_key:
189
189
  specification_version: 4
190
190
  summary: A fast, parallel and concurrent web server for ruby
191
191
  test_files: []
192
- has_rdoc:
192
+ has_rdoc: