rack_headers 0.1.1
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.
- data/.gitignore +1 -0
- data/Rakefile +16 -0
- data/VERSION +1 -0
- data/lib/rack_headers/print.rb +36 -0
- data/lib/rack_headers.rb +1 -0
- data/rack_headers.gemspec +38 -0
- metadata +60 -0
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pkg
|
data/Rakefile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gemspec|
|
7
|
+
gemspec.name = "rack_headers"
|
8
|
+
gemspec.summary = "Rack middleware to output the state of your request/response headers"
|
9
|
+
gemspec.email = "ryan@digitaltoniq.com"
|
10
|
+
gemspec.homepage = "http://github.com/digitaltoniq/rack-headers"
|
11
|
+
gemspec.authors = ["Ryan Daigle"]
|
12
|
+
end
|
13
|
+
Jeweler::GemcutterTasks.new
|
14
|
+
rescue LoadError
|
15
|
+
puts "Jeweler not available. Install it with: sudo gem install jeweler"
|
16
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.1
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Rack
|
2
|
+
module Headers
|
3
|
+
class Print
|
4
|
+
|
5
|
+
attr_accessor :request_headers
|
6
|
+
attr_accessor :response_headers
|
7
|
+
attr_accessor :logger
|
8
|
+
|
9
|
+
def initialize(app)
|
10
|
+
|
11
|
+
@app = app
|
12
|
+
yield self if block_given?
|
13
|
+
|
14
|
+
# Defaults
|
15
|
+
self.request_headers ||= ['If-Modified-Since']
|
16
|
+
self.response_headers ||= ['Last-Modified']
|
17
|
+
self.logger ||= Rails.configuration.logger if defined?(Rails)
|
18
|
+
end
|
19
|
+
|
20
|
+
def call(env)
|
21
|
+
output(request_headers, env)
|
22
|
+
status, headers, response = @app.call(env)
|
23
|
+
output(response_headers, headers)
|
24
|
+
[status, headers, response]
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def output(keys, headers)
|
30
|
+
logger.info keys.collect do |key|
|
31
|
+
"#{key}: #{headers[key.to_s]}"
|
32
|
+
end.join(', ')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end # Warden
|
data/lib/rack_headers.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'rack_headers/print'
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{rack_headers}
|
8
|
+
s.version = "0.1.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Ryan Daigle"]
|
12
|
+
s.date = %q{2009-11-19}
|
13
|
+
s.email = %q{ryan@digitaltoniq.com}
|
14
|
+
s.files = [
|
15
|
+
".gitignore",
|
16
|
+
"Rakefile",
|
17
|
+
"VERSION",
|
18
|
+
"lib/rack_headers.rb",
|
19
|
+
"lib/rack_headers/print.rb",
|
20
|
+
"rack_headers.gemspec"
|
21
|
+
]
|
22
|
+
s.homepage = %q{http://github.com/digitaltoniq/rack-headers}
|
23
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
24
|
+
s.require_paths = ["lib"]
|
25
|
+
s.rubygems_version = %q{1.3.5}
|
26
|
+
s.summary = %q{Rack middleware to output the state of your request/response headers}
|
27
|
+
|
28
|
+
if s.respond_to? :specification_version then
|
29
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
30
|
+
s.specification_version = 3
|
31
|
+
|
32
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
33
|
+
else
|
34
|
+
end
|
35
|
+
else
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
metadata
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rack_headers
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Daigle
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-11-19 00:00:00 -05:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description:
|
17
|
+
email: ryan@digitaltoniq.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
24
|
+
files:
|
25
|
+
- .gitignore
|
26
|
+
- Rakefile
|
27
|
+
- VERSION
|
28
|
+
- lib/rack_headers.rb
|
29
|
+
- lib/rack_headers/print.rb
|
30
|
+
- rack_headers.gemspec
|
31
|
+
has_rdoc: true
|
32
|
+
homepage: http://github.com/digitaltoniq/rack-headers
|
33
|
+
licenses: []
|
34
|
+
|
35
|
+
post_install_message:
|
36
|
+
rdoc_options:
|
37
|
+
- --charset=UTF-8
|
38
|
+
require_paths:
|
39
|
+
- lib
|
40
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: "0"
|
51
|
+
version:
|
52
|
+
requirements: []
|
53
|
+
|
54
|
+
rubyforge_project:
|
55
|
+
rubygems_version: 1.3.5
|
56
|
+
signing_key:
|
57
|
+
specification_version: 3
|
58
|
+
summary: Rack middleware to output the state of your request/response headers
|
59
|
+
test_files: []
|
60
|
+
|