rack-version-header 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rack/version_header.rb +31 -0
  2. metadata +4 -3
@@ -0,0 +1,31 @@
1
+ module Rack
2
+
3
+ # Rack Version Header
4
+ # A Rack middleware for adding a version response header
5
+ # git show-ref --verify refs/heads/master --hash=8
6
+ class VersionHeader
7
+ F = ::File
8
+
9
+ def initialize(app, options={})
10
+ options[:header_name] ||= 'X-Version'
11
+ options[:version_file] ||= '.version'
12
+
13
+ @app = app
14
+ f = options[:version_file]
15
+ if F.exist?(f.to_s)
16
+ @rev = F.read(f.to_s)
17
+ else
18
+ @rev = 'unknown'
19
+ $stderr.puts("#{F.expand_path(f.to_s)} not found")
20
+ end
21
+ @header_name = options[:header_name]
22
+ end
23
+
24
+ def call(env)
25
+ status, headers, response = @app.call(env)
26
+ headers[@header_name] = @rev
27
+ [status, headers, response]
28
+ end
29
+ end
30
+ end
31
+
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Matthias Luedtke
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-07 13:26:41 +02:00
17
+ date: 2010-04-07 13:58:11 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -28,6 +28,7 @@ extensions: []
28
28
  extra_rdoc_files: []
29
29
 
30
30
  files:
31
+ - lib/rack/version_header.rb
31
32
  - README.md
32
33
  has_rdoc: true
33
34
  homepage: http://github.com/mat/rack-version-header