-
Notifications
You must be signed in to change notification settings - Fork 231
Expand file tree
/
Copy pathserver.rb
More file actions
48 lines (42 loc) · 866 Bytes
/
server.rb
File metadata and controls
48 lines (42 loc) · 866 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require 'excon'
require 'httparty'
require 'net/http'
require 'open-uri'
require 'rest_client'
require 'tach'
require 'typhoeus'
require 'sinatra/base'
require 'streamly_ffi'
require 'curb'
require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib', 'em-http')
module Benchmark
class Server < Sinatra::Base
def self.run
Rackup::Handler.get('webrick').run(
Benchmark::Server.new,
:Port => 9292,
:AccessLog => [],
:Logger => WEBrick::Log.new(nil, WEBrick::Log::ERROR)
)
end
get '/data/:amount' do |amount|
'x' * amount.to_i
end
end
end
def with_server(&block)
pid = Process.fork do
Benchmark::Server.run
end
loop do
sleep(1)
begin
#Excon.get('http://localhost:9292/api/foo')
break
rescue
end
end
yield
ensure
Process.kill(9, pid)
end