Module: HTTTee::Server
- Defined in:
- lib/htttee/server.rb,
lib/htttee/server/api.rb,
lib/htttee/server/mock.rb,
lib/htttee/server/sse/body.rb,
lib/htttee/server/chunked_body.rb,
lib/htttee/server/sse/middleware.rb,
lib/htttee/server/middleware/dechunker.rb,
lib/htttee/server/middleware/rechunker.rb,
lib/htttee/server/middleware/async_fixer.rb
Defined Under Namespace
Modules: Mock, SSE
Classes: Api, AsyncFixer, ChunkedBody, Dechunker, Rechunker
Class Method Summary
collapse
Class Method Details
.api(host = (ENV['REDIS_HOST'] || 'localhost' ), port = (ENV['REDIS_PORT'] || 6379).to_i) ⇒ Object
15
16
17
|
# File 'lib/htttee/server.rb', line 15
def self.api(host = (ENV['REDIS_HOST'] || 'localhost' ), port = (ENV['REDIS_PORT'] || 6379).to_i)
Api.new(host, port)
end
|
.app ⇒ Object
11
12
13
|
# File 'lib/htttee/server.rb', line 11
def self.app
mocking? ? mock_app : rack_app
end
|
.mock! ⇒ Object
39
40
41
42
43
44
|
# File 'lib/htttee/server.rb', line 39
def self.mock!
require 'htttee/server/mock'
@mocking = true
@mock_uri = Mock.boot_forking_server
end
|
.mock_app ⇒ Object
29
30
31
32
33
34
35
36
37
|
# File 'lib/htttee/server.rb', line 29
def self.mock_app
Rack::Builder.app do |builder|
builder.use Mock::ThinMuxer
builder.use Mock::EchoUri
builder.use Rechunker
builder.use SSE::Middleware
builder.run Server.rack_app
end
end
|
.mock_uri ⇒ Object
60
61
62
63
|
# File 'lib/htttee/server.rb', line 60
def self.mock_uri
raise "Not in mock mode!" unless mocking?
@mock_uri
end
|
.mocking? ⇒ Boolean
56
57
58
|
# File 'lib/htttee/server.rb', line 56
def self.mocking?
@mocking
end
|
.rack_app ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/htttee/server.rb', line 19
def self.rack_app
Rack::Builder.app do |builder|
builder.use AsyncFixer
builder.use Dechunker
builder.use Rechunker
builder.use SSE::Middleware
builder.run Server.api
end
end
|
.reset! ⇒ Object
46
47
48
49
50
51
52
53
54
|
# File 'lib/htttee/server.rb', line 46
def self.reset!
raise "Can't reset in non-mocked mode." unless mocking?
EM.run do
EM::Protocols::Redis.connect.flush_all do
EM.stop
end
end
end
|