emmy-http-server 0.1.0 → 0.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
2
  SHA1:
3
- metadata.gz: 640f4d91ac5b7afc7d9c187c66a632698954576a
4
- data.tar.gz: c96485fca03f0ad17ce33023b8a3d0e950aa7a8d
3
+ metadata.gz: 0e8dcfbbb81d4ae945afaa139a4ed2c9aeeffb1c
4
+ data.tar.gz: 8ae0242830c10b75d3748a3525c0ba3b5a6e006f
5
5
  SHA512:
6
- metadata.gz: a4ed46332b0258af15ef204ad1ed57ea872763734944e1414aee2da43e04943d91f49530383bdb784d9a5f84e1589f8e7100f92023d1f37e5c36ab537508985c
7
- data.tar.gz: 61f7f595899b0a7f53b5660e67889316453885cbef5a9638bd149fecb78fea09a42e720584070614dd284f45a5f3b8332a92924ad6b86cb841825724c30350d4
6
+ metadata.gz: 9845db402398fe6bc42b532ae72dd134e5a91e73d336e8e5c877cb344ccb0f316cb04f5ed3416f6168e41e541d811bf991d2f777d83aa449f05b1c2193940bf6
7
+ data.tar.gz: a17a7577ffa40973d8cdb59739adc78d992596a0ccfd741a65ee840c3ba69ecbb6b20b2d7c3d4c2646ed2b8bc67a2cf67578cf7909c4b5bd7ee7f8bee578175a
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2015-2016 Maksim V. <inre.storm@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -13,7 +13,7 @@ end
13
13
  bind *server
14
14
  ```
15
15
 
16
- ### Routing
16
+ ### Routing (not ready yet)
17
17
 
18
18
  ```ruby
19
19
  server do
@@ -4,28 +4,33 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'emmy_http/server/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "emmy-http-server"
7
+ spec.name = 'emmy-http-server'
8
8
  spec.version = EmmyHttp::Server::VERSION
9
- spec.authors = ["inre"]
10
- spec.email = ["inre.storm@gmail.com"]
9
+ spec.authors = ['Maksim V.']
10
+ spec.email = ['inre.storm@gmail.com']
11
11
 
12
12
  spec.summary = %q{Emmy HTTP Server}
13
- spec.description = %q{Emmy HTTP Server}
14
- #spec.homepage = "TODO: Put your gem's website or public repo URL here."
13
+ spec.description = %q{EventMachine-based HTTP server}
14
+ spec.homepage = 'https://github.com/emmygems'
15
+ spec.license = 'MIT'
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "exe"
18
+ spec.bindir = 'exe'
18
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
20
+ spec.require_paths = ['lib']
20
21
 
21
- spec.add_dependency "http_parser.rb", "~> 0.6.0"
22
- spec.add_dependency "addressable", "~> 2.3.8"
23
- spec.add_dependency "event_object", "~> 0.9"
24
- spec.add_dependency "fibre", "~> 0.9"
25
- spec.add_dependency "emmy-machine", "~> 0.1"
26
- spec.add_dependency "emmy-http", "~> 0.2"
22
+ spec.required_ruby_version = '>= 2.2.2'
23
+ spec.required_rubygems_version = '>= 2.3.0'
27
24
 
28
- spec.add_development_dependency "bundler", "~> 1.9"
29
- spec.add_development_dependency "rake", "~> 10.0"
30
- spec.add_development_dependency "rspec", "~> 3"
25
+ spec.add_dependency 'http_parser.rb', '~> 0.6.0'
26
+ spec.add_dependency 'addressable', '~> 2.5'
27
+ spec.add_dependency 'event_object', '~> 1'
28
+ spec.add_dependency 'fibre', '~> 1'
29
+ spec.add_dependency 'emmy-machine', '~> 0.4'
30
+ spec.add_dependency 'emmy-http', '~> 0.4'
31
+
32
+ spec.add_development_dependency 'eventmachine', '~> 1'
33
+ spec.add_development_dependency 'bundler', '~> 1.12'
34
+ spec.add_development_dependency 'rake', '~> 10'
35
+ spec.add_development_dependency 'rspec', '~> 3'
31
36
  end
data/examples/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
-
1
+ gem 'eventmachine'
2
2
  gem 'sinatra'
3
- gem 'emmy'
3
+ gem 'emmy-machine', '~> 0.4'
4
4
  gem 'emmy-http-server', path: '../'
5
- gem 'emmy-http'
5
+ gem 'emmy-http', '~> 0.4'
data/examples/simple.rb CHANGED
@@ -1,15 +1,24 @@
1
1
  require 'bundler/setup'
2
- require 'emmy'
2
+ require 'emmy_machine'
3
+ require 'emmy_http'
3
4
  require 'emmy_http/server'
4
5
  require './app'
5
6
  using EventObject
6
7
 
8
+ # Without emmy engine
9
+ module Emmy
10
+ extend EmmyMachine::ClassMethods
11
+ include EventObject
12
+ include Fibre::Synchrony
13
+ end
14
+
7
15
  Emmy.run do
8
- app = EmmyHttp::Application.new do
16
+ app = ::Rack::Builder.app do
9
17
  run Sinatra::Application
10
18
  end
11
19
 
12
- server = EmmyHttp::Server::Server.new(Emmy::Runner.instance.config, app)
20
+ config = EmmyHttp::Configuration.new
21
+ server = EmmyHttp::Server::Server.new(config, app)
13
22
 
14
23
  Emmy.bind(*server)
15
24
  puts "Bind server on #{server.config.url}"
@@ -1,13 +1,15 @@
1
- require "emmy_http/server/version"
2
- require "emmy_http/server/parser"
3
- require "emmy_http/server/request"
4
- require "emmy_http/server/response"
5
- require "emmy_http/server/server"
1
+ require 'event_object'
2
+ require 'model_pack'
3
+ require 'emmy_http/server/version'
4
+ require 'emmy_http/server/parser'
5
+ require 'emmy_http/server/request'
6
+ require 'emmy_http/server/response'
7
+ require 'emmy_http/server/server'
6
8
 
7
9
  module EmmyHttp
8
10
  module Server
9
11
  INITIAL_BODY = ''
10
- INITIAL_BODY.encode!(Encoding::ASCII_8BIT) if INITIAL_BODY.respond_to?(:encode)
12
+ INITIAL_BODY.encode!(::Encoding::ASCII_8BIT) if INITIAL_BODY.respond_to?(:encode)
11
13
 
12
14
  SERVER_NAME = 'Emmy'.freeze
13
15
  RACK_VERSION_NUM = [1, 0]
@@ -109,8 +109,8 @@ module EmmyHttp
109
109
  @env['REMOTE_ADDR'] = remote_address
110
110
  @env['REQUEST_METHOD'] = http_method
111
111
  @env['REQUEST_URI'] = url.to_s
112
- @env['QUERY_STRING'] = url.query# || ""
113
- @env['SCRIPT_NAME'] = ""
112
+ @env['QUERY_STRING'] = url.query || '' # string required
113
+ @env['SCRIPT_NAME'] = ''
114
114
  @env['REQUEST_PATH'] = url.path
115
115
  @env['PATH_INFO'] = url.path
116
116
  @env['FRAGMENT'] = url.fragment
@@ -64,7 +64,7 @@ module EmmyHttp
64
64
  res.keep_alive = req.keep_alive?
65
65
  res.attach(conn)
66
66
 
67
- EmmyMachine.fiber_block do
67
+ EmmyMachine.async do
68
68
  # Process request event
69
69
  begin
70
70
  request!(req, res)
@@ -1,5 +1,5 @@
1
1
  module EmmyHttp
2
2
  module Server
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emmy-http-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: '0.2'
5
5
  platform: ruby
6
6
  authors:
7
- - inre
7
+ - Maksim V.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-09 00:00:00.000000000 Z
11
+ date: 2016-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http_parser.rb
@@ -30,98 +30,112 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.3.8
33
+ version: '2.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.3.8
40
+ version: '2.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: event_object
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.9'
47
+ version: '1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.9'
54
+ version: '1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: fibre
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.9'
61
+ version: '1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.9'
68
+ version: '1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: emmy-machine
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.1'
75
+ version: '0.4'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.1'
82
+ version: '0.4'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: emmy-http
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.2'
89
+ version: '0.4'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.2'
96
+ version: '0.4'
97
+ - !ruby/object:Gem::Dependency
98
+ name: eventmachine
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '1.9'
117
+ version: '1.12'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '1.9'
124
+ version: '1.12'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '10.0'
131
+ version: '10'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '10.0'
138
+ version: '10'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rspec
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +150,7 @@ dependencies:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
152
  version: '3'
139
- description: Emmy HTTP Server
153
+ description: EventMachine-based HTTP server
140
154
  email:
141
155
  - inre.storm@gmail.com
142
156
  executables: []
@@ -147,6 +161,7 @@ files:
147
161
  - ".rspec"
148
162
  - ".travis.yml"
149
163
  - Gemfile
164
+ - LICENSE
150
165
  - README.md
151
166
  - Rakefile
152
167
  - emmy-http-server.gemspec
@@ -159,8 +174,9 @@ files:
159
174
  - lib/emmy_http/server/response.rb
160
175
  - lib/emmy_http/server/server.rb
161
176
  - lib/emmy_http/server/version.rb
162
- homepage:
163
- licenses: []
177
+ homepage: https://github.com/emmygems
178
+ licenses:
179
+ - MIT
164
180
  metadata: {}
165
181
  post_install_message:
166
182
  rdoc_options: []
@@ -170,15 +186,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
186
  requirements:
171
187
  - - ">="
172
188
  - !ruby/object:Gem::Version
173
- version: '0'
189
+ version: 2.2.2
174
190
  required_rubygems_version: !ruby/object:Gem::Requirement
175
191
  requirements:
176
192
  - - ">="
177
193
  - !ruby/object:Gem::Version
178
- version: '0'
194
+ version: 2.3.0
179
195
  requirements: []
180
196
  rubyforge_project:
181
- rubygems_version: 2.4.6
197
+ rubygems_version: 2.5.1
182
198
  signing_key:
183
199
  specification_version: 4
184
200
  summary: Emmy HTTP Server