rackheader 0.0.2 → 0.0.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: 1d05d560b9bc2a35928a2677b610fd431f39e30f
4
- data.tar.gz: c39da29d6b33e9f91d471caac2a7d1a11ee113b9
3
+ metadata.gz: f9540efd492e4b40b25cdb8f320e2ec9c0331076
4
+ data.tar.gz: bc08f66ec3ba39631fc2024302f199e1a3c1ab1a
5
5
  SHA512:
6
- metadata.gz: bb21d128f6c204a4eece1b577a833d8a9b3b76ffe9bbc3d55c56c0ace25428472ccf8a0eaf614a3771f791a3d26f8905360c8e35704101417389dfcaf78e9a70
7
- data.tar.gz: 73b0bfdb47cf41b8ff4b69b717645d442eb974ec6d726091bb27a31bd2ac8176a765bd00455c2bfe458f466c8a0cfba491ce5181dcc8f134ef7d37ce9a9dee75
6
+ metadata.gz: e7190b4efc82c5880d90168b9ef8b62a39cc23b62e0b59494d6d97592c6386963de533ee7dc8d1bfb593d0b35f1f995df003e5cccaf049f0646ae23cac953bab
7
+ data.tar.gz: 25a092ee2913afcf6112d344ab969315e1a962d5bba146bca2135ac688fd862d2225aa9c40e7bfcb4af57b08bb332274990552c83eb2b534fc07de3669457e59
data/README.md CHANGED
@@ -29,6 +29,12 @@ run Rack::Lobster.new
29
29
 
30
30
  $ rackup config.ru
31
31
 
32
+ ### HTTP_* environment variables
33
+
34
+ In addition to specifying static headers in your application config, you can also set headers using environment variables.
35
+
36
+ For example, if you want to set the `X-Robots-Tag` only in certain environments, you can add the `HTTP_X_ROBOTS_TAG` environment variable.
37
+
32
38
  ## Contributing
33
39
 
34
40
  1. Fork it
@@ -1,16 +1,25 @@
1
1
  module Rack::Header
2
2
  class Context
3
3
  def initialize(app, headers = {})
4
- @app, @headers = app, headers
4
+ @app = app
5
+
6
+ # Map HTTP_* environment variables to response headers
7
+ @headers = Hash[*ENV.select {|k,v| k.start_with? 'HTTP_'}
8
+ .collect {|k,v| [k.sub(/^HTTP_/, ''), v]}
9
+ .collect {|k,v| [k.split('_').collect(&:capitalize).join('-'), v]}
10
+ .flatten]
11
+
12
+ @headers = headers.merge(@headers)
5
13
  end
6
14
 
7
15
  def call(env)
8
16
  status, headers, response = @app.call(env)
17
+
9
18
  @headers.each do |k,v|
10
19
  headers[k] = v
11
20
  end
12
21
  headers.delete_if { |k,v| v.nil? }
13
-
22
+
14
23
  [status, headers, response]
15
24
  end
16
25
  end
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module Header
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
data/rackheader.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["ajjahn@gmail.com"]
7
7
  gem.description = %q{Rack Middleware for overriding and adding additional HTTP response headers}
8
8
  gem.summary = %q{Rack Middleware for overriding and adding additional HTTP response headers}
9
- gem.homepage = ""
9
+ gem.homepage = "https://github.com/ahn/rackheader"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rackheader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jahn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-03 00:00:00.000000000 Z
11
+ date: 2015-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.4.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.4.1
41
41
  description: Rack Middleware for overriding and adding additional HTTP response headers
@@ -45,7 +45,7 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - .gitignore
48
+ - ".gitignore"
49
49
  - Gemfile
50
50
  - LICENSE
51
51
  - README.md
@@ -55,7 +55,7 @@ files:
55
55
  - lib/rack/header/version.rb
56
56
  - lib/rackheader.rb
57
57
  - rackheader.gemspec
58
- homepage: ''
58
+ homepage: https://github.com/ahn/rackheader
59
59
  licenses: []
60
60
  metadata: {}
61
61
  post_install_message:
@@ -64,17 +64,17 @@ require_paths:
64
64
  - lib
65
65
  required_ruby_version: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '>='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 2.2.1
77
+ rubygems_version: 2.2.2
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: Rack Middleware for overriding and adding additional HTTP response headers