rackheader 0.0.2 → 0.0.3
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 +4 -4
- data/README.md +6 -0
- data/lib/rack/header/context.rb +11 -2
- data/lib/rack/header/version.rb +1 -1
- data/rackheader.gemspec +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9540efd492e4b40b25cdb8f320e2ec9c0331076
|
4
|
+
data.tar.gz: bc08f66ec3ba39631fc2024302f199e1a3c1ab1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/rack/header/context.rb
CHANGED
@@ -1,16 +1,25 @@
|
|
1
1
|
module Rack::Header
|
2
2
|
class Context
|
3
3
|
def initialize(app, headers = {})
|
4
|
-
@app
|
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
|
data/lib/rack/header/version.rb
CHANGED
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.
|
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:
|
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.
|
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
|