rack-p3p 0.5.0

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.
Files changed (2) hide show
  1. data/lib/rack-p3p.rb +25 -0
  2. metadata +80 -0
@@ -0,0 +1,25 @@
1
+ # Shamelessly ripped from http://www.mail-archive.com/rubyonrails-core@googlegroups.com/msg09777.html
2
+ module Rack
3
+ class P3p
4
+ POLICY = 'CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"'
5
+
6
+ def initialize(app)
7
+ @app = app
8
+ end
9
+
10
+ def call(env)
11
+ response = @app.call(env)
12
+ insert_p3p(response)
13
+ end
14
+
15
+ private
16
+ def insert_p3p(response)
17
+ if response.first == 304
18
+ response[1].delete('Set-Cookie')
19
+ else
20
+ response[1].update('P3P' => POLICY)
21
+ end
22
+ response
23
+ end
24
+ end
25
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-p3p
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 5
8
+ - 0
9
+ version: 0.5.0
10
+ platform: ruby
11
+ authors:
12
+ - Robert Vogel
13
+ - Mat Schaffer
14
+ - Trotter Cashion
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-04-23 00:00:00 -04:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rack
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 1
31
+ - 0
32
+ - 1
33
+ version: 1.0.1
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ description: |-
37
+ Rack-P3p is rack middleware for inserting P3P headers into apps. This will
38
+ allow your application to serve cookies to IE when in an iframe. It will also
39
+ pull off the cookie on 304 responses, since IE does not like the cookie then.
40
+ email: dev@hoopla.net
41
+ executables: []
42
+
43
+ extensions: []
44
+
45
+ extra_rdoc_files: []
46
+
47
+ files:
48
+ - lib/rack-p3p.rb
49
+ has_rdoc: true
50
+ homepage: http://github.com/hoopla/rack-p3p
51
+ licenses: []
52
+
53
+ post_install_message:
54
+ rdoc_options: []
55
+
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ requirements: []
73
+
74
+ rubyforge_project:
75
+ rubygems_version: 1.3.6
76
+ signing_key:
77
+ specification_version: 3
78
+ summary: Rack-P3p will insert a P3P header into your app.
79
+ test_files: []
80
+