emmy-http-server 0.1.0 → 0.2

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: 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