rack-perf 1.1.2 → 1.1.4

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: a03ed4e24e26a189c5512b5eac5a5279047c8a2e
4
- data.tar.gz: 0173e47bf2bb724e0b430727164473bfff800196
3
+ metadata.gz: 982ef21c5a45a9448c80643d36b3655266155c48
4
+ data.tar.gz: f4dd94d92685d76735e3ee29e7617e353d16e221
5
5
  SHA512:
6
- metadata.gz: 91e171413a6de22b41e0d23c3f6bb4c80d77bb4d414fb1725914a15e9f038ddefe23f10194741f8c173b63e497d1fcf31c45d6eced9050f1b7351cb0f8f71e55
7
- data.tar.gz: 2026c649df241a849c745a7b0f9a224a5423608c028f8bb1a2bb346c102701944018c9860641c158c5b055dd11a6ff69a6fb96aaba4f6d2decbf3ac071ca4da5
6
+ metadata.gz: 5cd01ac1b4dafa423bffb853f1aa9811b32b18f0705512cd4df5eac58eaaa4ae6c4df514f3c7dda9c70b3be803b6862c7218b0bb0668adb97c10dbe41d21e33e
7
+ data.tar.gz: 0e83d9666467aa436673cfd298ec843e2a56e736abe2fc9226f52f7dbf82184911a48ee3d32a274ca5bc2162b6a1a73812a5cbcf79e9e926355f3e8be4c9a4c5
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  class Perf
3
- VERSION = "1.1.2"
3
+ VERSION = "1.1.4"
4
4
  end
5
5
  end
data/lib/rack/perf.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module Rack
2
2
  class Perf
3
3
  require_relative "perf/version"
4
+ require 'unirest'
4
5
 
5
6
  attr_reader :starttime
6
7
  private :starttime
@@ -28,7 +29,7 @@ module Rack
28
29
 
29
30
  # run the current request
30
31
  request = Rack::Request.new(env)
31
- @status, @headers, @body = stack.call(env)
32
+ status, headers, body = stack.call(env)
32
33
 
33
34
  # log the end time of the request
34
35
  @endtime = Time.now
@@ -53,28 +54,23 @@ module Rack
53
54
  # this method sends up the single timing request up to Perf
54
55
  # TODO: queue this up in a batch
55
56
  private def send_data(ip_addr, request_method, request_url, normalized_uri, status_code, time_in_millis)
56
- uri = URI.parse("https://data.perf.sh")
57
+ head = {
58
+ "Content-Type" => "application/json",
59
+ "X-Perf-Public-API-Key" => api_key
60
+ }
57
61
 
58
- http = Net::HTTP.new(uri.host, uri.port)
59
- http.use_ssl = true
60
-
61
- request = Net::HTTP::Post.new('/ingest')
62
- request.add_field('Content-Type', 'application/json')
63
-
64
- request.add_field('X-Perf-Public-API-Key', api_key)
65
- request.body = [{
62
+ params = {
66
63
  'ip_addr' => ip_addr,
67
64
  'request_method' => request_method,
68
65
  'request_url' => request_url,
69
66
  'normalized_uri' => normalized_uri,
70
67
  'status_code' => status_code,
71
68
  'time_in_millis' => time_in_millis
72
- }].to_json
73
-
74
- puts request.body if debug
69
+ }
75
70
 
76
- response = http.request(request)
77
- # TODO: handle the incoming response
71
+ Unirest.post "https://data.perf.sh/ingest", headers:head, parameters:[params].to_json { |response|
72
+ # TODO: handle the incoming response
73
+ }
78
74
  end
79
75
 
80
76
  # this gets us the matched normalized path so that we can aggregate
@@ -125,17 +121,5 @@ module Rack
125
121
  private def env
126
122
  @env
127
123
  end
128
-
129
- private def headers
130
- @headers
131
- end
132
-
133
- private def status
134
- @status
135
- end
136
-
137
- private def body
138
- @body
139
- end
140
124
  end
141
125
  end
data/rack-perf.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
+ spec.add_dependency "unirest", "~> 1.1"
23
24
  spec.add_development_dependency "bundler", "~> 1.13"
24
25
  spec.add_development_dependency "rake", "~> 10.0"
25
26
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-perf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Lu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-31 00:00:00.000000000 Z
11
+ date: 2016-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: unirest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement