rack-traffic-logger 0.1.2 → 0.1.3

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: 735bee50aea81ceaff58c19569eb8dbac38806a1
4
- data.tar.gz: 2ae588f2b1990d712692d5bff1bf96687d581a71
3
+ metadata.gz: 37a17a0371c42a04409a680409494ddf351a1e54
4
+ data.tar.gz: 784eb69114effcadb079a90a4f2ab23d808db58d
5
5
  SHA512:
6
- metadata.gz: c9c2680d8fe14afd6f9b3afa9b744fa6debac3235dca0232095fef4da816aecb05958ce1d7c8c1738187ca1411884cc54b473d229e4325cb1c2a4738cff74441
7
- data.tar.gz: adab23dfc915298bb226fee7079086f1e85a555c8a517882ad1c3495910f508d8ec6c163d314a1c1dc2c28764d95ca3c3cfabc5b45dedefa1e73ecc27ae48179
6
+ metadata.gz: 0026a2d7dbacb24437d64d1f1dc932ee76c90a10673500a2c4d3c0dc7652017a8e49baefde550778a68a1c4925aa8566d80ff8bce0726321521c5a70cc32d064
7
+ data.tar.gz: a2b45d76e292fe50eb77e046aca060d0426c919aed57e0d0918ffdbd5cc31bc64294c0c86ce52ee6592d3315916ae05b3ff565085c586d9d814649bbd74b760c
@@ -46,12 +46,16 @@ module Rack
46
46
 
47
47
  def call(env)
48
48
  env.delete 'HTTP_ACCEPT_ENCODING' if prevent_compression
49
- log_request! env
50
- @app.call(env).tap { |response| log_response! env, response }
49
+ safely('logging request') { log_request! env }
50
+ @app.call(env).tap { |response| safely('logging response') { log_response! env, response } }
51
51
  end
52
52
 
53
53
  private
54
54
 
55
+ def safely(action)
56
+ yield rescue error "Error #{action}: #{$!}"
57
+ end
58
+
55
59
  def self.default_options
56
60
  @default_options ||= PUBLIC_ATTRIBUTES.map { |k, v| [k, v[:default]] }.to_h
57
61
  end
@@ -90,7 +94,7 @@ module Rack
90
94
  }
91
95
 
92
96
  def status_color(status)
93
- case (status / 100).to_i
97
+ case (status.to_i / 100).to_i
94
98
  when 2 then '32m'
95
99
  when 4, 5 then '31m'
96
100
  else '33m'
@@ -115,6 +119,7 @@ module Rack
115
119
  stream.rewind
116
120
  end
117
121
  body = body.join if body.respond_to? :join
122
+ body = body.body while Rack::BodyProxy === body
118
123
  log_body! body,
119
124
  type: headers['Content-Type'],
120
125
  encoding: headers['Content-Encoding']
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  class TrafficLogger
3
- VERSION = '0.1.2'
3
+ VERSION = '0.1.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-traffic-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neil E. Pearson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-31 00:00:00.000000000 Z
11
+ date: 2014-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack